python第三课
一.序列类型和转义字符
1.序列类型
上节课学习的 int float bool -->数据类型,表示一个数值,不适合存储多个数据。
序列类型-->可以存储多个数据的一种类型,里面的数据是有顺序、坐标概念的。
比如,考试的时候,座位编号 123456...
2.下标
在序列类型中数据都有下标的概念
在程序中,和生活习惯不太一样,程序下标是从0开始计算的
人类报数:12345 第一个数1 第二个数2
机器报数:01234 第一个数0 第二个数1
name ='程序员'
程 序 员
0 1 2
-3 -2 -1
下标也支持负数取值,最后一个数为-1,倒数第二个数为-2。
3.索引:指导下表后想要获取这个数据这个操作就是索引
语法:序列名[下标]
str1='我不是萌新程序员' print(str1[3])#萌 print(str1[-4])#新 下标越界: print(str1[20])#报错
4.切片
索引可以取出数据,但是只能取一个数据,如果需要取多个数据就很麻烦,这时就可以使用切片 在序列类型中,通过下标一次性取多个数据的行为,称之为切片
语法:
序列名[起点:终点]
str2 = '我不是萌新程序员' print(str2[2:3])#是 print(str2[2:4])#是萌 print(str2[-3:])#程序员
切片的细节:
a.切片时,终点值实际是取到它的前一位,不是自身
b. 切片时,起点值和终点值可以空着不写,不写起点默认从头/0开始取数据不写终点默认取到最后
5.步长
可以设置步长的方式,取数据跨多位数,步长不写默认为1。
把步长设为-1,就是反向输出数据
语法:
序列名[起点:终点:步长]
str3='我不是萌新程序员' print(str3[ : :2])#我是新序 print(str3[ : :-1])#反向输出
总节:序列类型的特性: 下标 索引 切片 步长
二.列表与元组
1.列表(list)
列表的表现形式为用[]中括号包裹起来的数据,里面的数据用逗号隔开语法格式:列表名=[数据1,数据2] list1 =['美女',66,1.9,True] print(type(list1))#list类型 print(list1[1])#66 print(list1[1::2])#[66,True]
列表可以修改
list1[0]='hello' print(list1)#['hello', 66, 1.9, True]
2.元组(tuple)
元组的表现形式为用()小括号包裹起来的数据,里面的数据用逗号隔开
语法格式: 元组名=(数据1,数据2)
tuple2('帅哥',18,188.8)
元组的用法和列表相似,但是还是有区别:
a. 元组是小括号,列表是中括号;
b. 元组的数据是不能被修改的。
3.转义字符
转义字符= 在python中带有特别功能,特殊含义的字符,一般用\来表示
常用的有:
\n --->换行 eg:print('我不是\n萌新程序员') ''' 我不是 萌新程序员 ''' \t --->制表符(tab键) eg: print('帅\t哥') ''' 帅 哥 ''' \\ --->正常输出一个斜杠 eg:print('\\') ''' \ ''' \' --->正常输出一个引号 eg: print('我是帅哥,'你也是') 我想将这段话打印出来,但是这个程序会报错,因为机器识别不出来第三个引号为你的终止引号,还是第二个。因此它会把第二个引号作为终止引号,导致报错。 改进:print('我是帅哥,\'你也是') 如果有一个字符串,里面有很多\.但是不需要转义功能,可以在它前面加一个r,就会取消里面所有的转义。 eg: print('D: \tproject\ pycache_\node') ''' D: project\ pycache_ ode ''' 修改:print(r'D: \tproject\ pycache_\node') ''' D: \tproject\ pycache_\node '''
4.数据类型的转换
在程序开发是时,有时候有需求涉及到数据之间想回转换
a.
eg: print('我今年刚满'+18)
这儿程序会报错,因为不是相同类型。
修改:
print('我今年刚满'+str(18))
b.
height = input ('请输入你的身高')#input 得到的数据默认是str
height=float(input('请输入你的身高'))
c.
int(数据)-->把数据转为整形 int('18') float(数据)--> 把数据转为浮点型 bool(数据)-->把数据转为布尔型 str(数据)--> 把数据转为字符串型 list(数据)--> 把数据转为列表型 tuple(数据)--> 把数据转为元组型 将列表转换为元组
d.
类型转换之后要重新赋值
age = '38' # str age = int (age)
练习题
1.创建一个新列表里面的内容包含七种零食,用尽量多的方法获取里面的第三个值 2.定义一个列表,列表中有3种“数值类型” 3.现有一变量teacher ='主讲大漂亮班主任美女老师"输出"漂亮" 美女' 4.现有一变量 num='123456789'输出135795.现有一变量 talk="我爱学python",输出"nohtyp学爱我" 6,结合生活例子,声明一个列表和元组变量,里面至少有3个数据(考虑好元组和列表的区别) 7,现有一变量的余额moeny = input('请输入你钱包')把得到的数据转为float类型