#序列类型与转义字符
##序列类型
什么是序列类型
上节课学习的int float bool --> 数值类型,表示一个数值.而数值类型比较适合存储一个值.不适合存储多个值
序列类型 --> 可以存储多个数据的一种数据类型 里面的数据是有顺序,下标的概念
##序列类型核心概念 – 下标
在序列类型中数据都有下标的概念.
下标相当于坐标.比如酒店的房间,宿舍的门牌号
在程序中,和生活不太一样,下标是从0开始进行计算的.
人类报数:1 2 3 4 5; 第一个数是1 第二个是2 机器报数:0 1 2 3 4; 第一个数是0 第二个是1 name = '七零老师' 七 零 老 师 0 1 2 3 -4 -3 -2 -1 下标也支持负向取.最后一个数为-1,倒数第二个数为-2 names = '李江王嘉璐刘超文君' 0 1 2 3 4 5 6 7 8 王 --> 2,-7 文 --> 7,-2
##序列类型基本使用 – 索引
刚刚我们已经知道了下标的概念.就像生活中一样,知道了一个人的位置,可以找到他.知道了一个数据所在的位置,就可以这个数据提取出来
在序列类型中,通过下标提取对应的数据,这个操作叫做索引
语法: 序列名[下标] print(name[1]) print(names[2]+names[7]) 如果索引的下标超出了数据,会报错 name[10086] # 报错,下标越界 IndexError
##序列类型核心概念 – 切片
索引可以取出数据,但是只能一个个的取,如果需要一次性取出多个数据,那就很麻烦.这时候就需要切片
切片 --> 一次性取多个数据的操作
语法: 序列名[起点:终点] name2 = '七零迪迦奥特曼' print(name2[2:6]) # 迪迦奥特 --> 取到6的前一位 print(name2[2:7]) # 迪迦奥特曼 print(name2[2:]) # 迪迦奥特曼,起点2开始,后面的数据全都要 print(name2[:3]) # 起点0开始,一直到下标3的前一位为止的数据全都要.取到的是0-2 print(name2[:]) # 没必要,直接写name2就得了 切片的细节: 1.切片里,终点值实际上是取到它的前一位.比如[2:6]实际上取得是2:(6-1)即 2:5 2.切片里,起点值和终点值都可以空着不写. 不写起点默认从0开始取数据,不写终点默认取数据取到最后
##序列类型核心概念 – 步长
生活中有的人腿很长,走楼梯一次走3格,有的人一次走2格.
程序中,正常取数据都是一位位的取,步长为1,可以通过设置步长的方式,让取数据的时候跨位取
把步长设置负一.就是反向取数据
语法: 序列名[起点:终点:步长] num = '123456789' print(num[2:5]) # 3 - 5 print(num[:]) # 取全部数据 print(num[::2]) # 步长设置为2,一次性跨2位取数据 输出13579 print(num[::-1]) # 反向输出.下标为-1
##列表与元组
目前学过的数据类型都比较单一.要么就是数字,要么就是字符,要么是小数.
如果要把它们都放在一起.就需要剩下的两种序列类型 --> 列表/元组
列表 - list
列表 - list 表现形式为一对中括号[]包裹起来的数据,里面的数据用逗号隔开.它里面可以存基本上所有的数据.列表里的数据是可以修改的 语法: 列表名 = [数据1,数据2,数据3] kylin = ['麒麟',18,177,520.0,True] 列表名[下标] = 数据 kylin[0] = '七零' 列表是可以嵌套的.也就是列表里面还可以放列表 a = [1,70,6.66] b = ['麒麟',a,'婷婷'] print(b[1]) # 取出列表a print(b[1][1]) # 再取出列表a里的70
元组 - tuple
元组 - tuple 表现形式为一对小括号()包裹起来的数据,里面的数据用逗号隔开.它里面可以存基本上所有的数据.元组里的数据不可以修改的 语法: 元组名 = (数据1,数据2,数据3) kylin = ('麒麟',18,177,520.0,True) age = (18) # 为int类型 age = (18,) # 为tuple型.哪怕元组里只有1个数据,在后面也要加个逗号. 如果你要存的数据,可能要修改 --> 用列表 students = ['张问豪','陈雪','王庆'] 如果你要存的数据,不会修改 --> 用元组 开班前,老师就已经确定了不会调整 teachers = ('七零老师','花花老师')
##转义字符
转义字符 = 在python中,带有特别功能,特别含义的字符
n --> 换行 t --> 制表符(tab,四个空格) \ --> 正常输出一个斜杠 ' --> 正常输出一个引号 print("七零说:"大家要多喝热水"") a --> 系统提示音 如果有一个字符串.里面不需要转义功能,可以在它的前面加个r.就会取消里面的所有转义 r'大家晚上好n我现在都是正常t执行的.不会换行,也不会空格'
##数据类型转换
在程序开发时,有的时候会涉及到数据之间进行类型的转化,字符串转为整形,整形转为字符串
有个前提,操作必须合法
int(数据) --> 把数据转为整形
int(‘18’)
float(数据) --> 把数据转为浮点
bool(数据) --> 把数据转为布尔
str(数据) --> 把数据转为字符串
list(数据) --> 把数据转为列表
tuple(数据) --> 把数据转为元组
input得到的数据,默认是字符串str age = input('请输入你的年龄') 此时输入18. 得到的age仍然是str类型 需要进行int或float类型数据输入的时候.可以进行类型转换 age = int(input('请输入你的年龄')) money = float(input('请输入你的余额')) 在python中,int,str,list,tuple.还有之前学过的print input type.这些名字都有特别的含义.切记!!!!!!!!! 不要给变量命名为以上名字 str = XXX int = XXX list = XXX 错的!!!!!!!不要这么写 可以写简写 li li1 list1 类型转换过后的数据要重新赋值 age = '18' age = int(age) # 这样子才是重新赋值
##学习网站推荐/学习建议
看本节课的文件
##作业:
1.定义一个列表,列表中有3种"数值类型",用多种方法获取里面的第二个值
2.现有一变量 num = 10086,把num转换为字符串,并输出008与106
3.现有一变量 teacher = ‘主讲老麟班主任花花老师’ 输出 ‘麟’ ‘主’ ‘师’ 三字
4.现有一变量 names = “谢霆锋陈奕迅刘德华周杰伦” 输出"谢霆锋",“奕迅”,“德华周杰伦”
5.现有一变量 times = “20220526” 输出年,月,日
6.现有一变量 talk=“多喝热水”,输出"水热喝多"
7.结合生活例子,声明一个列表和元组变量.里面至少有3个数据
8.填空题:序列类型的下标是从__开始,负向下标从__开始
9.取消转义字符是在字符串前加个__
10.用一个print,输出以下内容
爱你所爱 行你所行
听从你心 无问西东