本节内容
- 推荐美剧
- 数据类型(部分内容)
- 数据运算
- 字符串操作
- 列表
- for
- while
一、推荐美剧
1、冰与火之歌 2、亡命之徒 3、西部世界
二、数据类型
1、数字
定义:a=1
特性:
1.只能存放一个值
2.一经定义,不可更改
3.直接访问
分类:整型,长整型,布尔,浮点,复数
1.1、 int 整型
>>> 10 10 --------->默认十进制 >>> oct(10) '012' --------->八进制表示整数时,数值前面要加上一个前缀“0” >>> hex(10) '0xa' --------->十六进制表示整数时,数字前面要加上前缀0X或0x
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
1.2、 long 长整型
python2.*:a = 9223372036854775808L 注意,自从Python2起,如果发生溢出,Python会自动将整型数据转换为长整型,
所以如今在长整型数据后面不加字母L也不会导致严重后果了。
python3.*:长整型,整型统一归为整型
1.3、 bool 布尔值
True 和False
1和0
1.4、 float 浮点数
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号
1.5、 复数
不重要
2、字符串
定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串
‘hello world’
2.1、 字符串常用操作
移除空白
msg15 = ' Aelx ' print(msg15.strip())
分割
msg20 = 'nihao 123' print(msg20[0:3]) #分割切片 print(msg20.split()) #字符串切分成列表
长度
print(len(msg20)) #查字符长度
索引
print(msg.index("e")) #所在位置 print(msg[2]) #索引
切片
msg20 = 'nihao 123' print(msg20[0:3]) #切片 print(msg20[0:]) #到结尾 print(msg20[:]) #到结尾 print(msg20[0:-1]) #到最后一个元素 print(msg20[2:7:2]) #加步长
3、 列表
定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
特性:
1.可存放多个值
2.可修改指定索引位置对应的值,可变
3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序
names = ["zhangsan","wangxu","5","asdf",'www',"3","lisi","lisi","123",""]
3.1 常用操作
切片
追加
插入
修改
删除
扩展
拷贝
统计
排序&反转
获取下标
三、数据运算
算术运算
比较运算
赋值运算
逻辑运算
成员运算
身份运算
位运算
四、字符串操作
1、基本操作
#去除空格 msg19 = '123ad asdf\n' print(msg19.strip()) #移除左右空格 print(msg19.lstrip()) #移除左空格 print(msg19.rstrip()) #移除右空格 #切片 msg20 = 'nihao 123' print(msg20[0:3]) #切片 print(msg20[0:]) #到结尾 print(msg20[:]) #到结尾 print(msg20[0:-1]) #到最后一个元素 print(msg20[2:7:2]) #加步长 #长度 print(len(msg20)) #查字符长度 #索引 print(msg20[2]) #分割 print(msg20.split()) #以空格分割 print(msg20.split('l')) #以"l"分割
2、有可能用到的操作
msg = "hello world" print(msg.capitalize()) #首字母大写 print(msg.center(20)) #居中显示 print(msg.center(20,'*')) #填充‘*’,居中显示 print(msg.count('l')) #统计‘l’数量 print(msg.count('l',4,10)) #统计4-10‘l’数量 print(msg.count('l',4,-1)) #统计4-结尾‘l’数量 print(msg.find("d")) #是否存在,所在位置 print(msg.index("e")) #所在位置,不存在报错 print("{0} {1} {0}".format('name',"age")) print("{}{}".format('name',"age","alex")) print("{name}".format(name='alex')) msg3 = '123aaa' print(msg3.isalnum()) #判断是否是字母或数字 print(msg3.isalpha()) #判断是否是字母 print(msg3.isdigit()) #判断是否是Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字 msg9 = "aA" print(msg9.islower()) #是否都为小写 print(msg9.isupper()) #是否都为大写 msg13 = 'abc' print(msg13.ljust(10,"*")) #左对齐 print(msg13.rjust(10,"*")) #右对齐 msg14 = 'Aelx' print(msg14.lower()) #都转成小写 print(msg14.upper()) #都转成大写
3、那些我都想不到怎能用的操作
msg16 = 'my name is abcd ' table=str.maketrans("abcd","alex") print(msg16.translate(table)) #加密 msg17 = 'my name is abcd ' print(msg17.zfill(20)) #不到20填充0 msg11 = " " print(msg11.isspace()) #是否为空格 msg8 = "if " print(msg8.isidentifier()) #是否包含关键字 msg1 = 'a\tb' print(msg1.expandtabs(11)) #设定tab的数量 print(msg.endswith("d")) #判断结尾是否为d
五、列表操作
names = ["zhangsan","wangxu","5","asdf",'www',"3","lisi","lisi","123",""] #增 names.append("zhangZhenxing") #在后面增加 names.insert(2,"刘思佳") #从第二个加入 names.insert(1,"sunhaitao") #删 names.remove("www") del names[3] names.pop(6) #删除并返回 names.pop() #删除最后一个 #改 names[1] = "王旭" #查 print(names[-2]) #取倒数第二个 print(names[0::2]) print(names[-3:]) #取最后三个 print(names[:3]) #取前三个 print(names.index("5")) #如果有返回下标 print(names.count("alex")) #查查有多少个 #两个列表的合并 n2 = ["jack","rain",1,3,2,3,"*"] names.extend(n2) #不能放到print内执行 print(names) #反转 names.reverse() #不能放到print内执行 print(names) #排序 #names.sort() #print(names) #py3不支持字符,数字混排 n5 = [1,2,34,4,54,6,76] n5.sort() #不能放到print内执行 print(n5) #copy n3 = names.copy() #不能放到print内执行 n4 = names print(n3,id(names),id(n3)) print(n4,id(names),id(n4)) #统计 names.count(3)
六、for循环
猜名字之for循环
oldboy_age = 56 for i in range(3): input_age = int(input("pls input age:")) if input_age == oldboy_age: print("your right!") break elif input_age > oldboy_age: print("bigger!") else: print("smaller!") else: print("gun!")
七、while 循环
猜名字之while循环
age_of_oldboy = 56 count = 0 while count < 3: input_age = input("input oldboy age:") if input_age.isdigit(): #判断是否为数字 input_age = int(input_age) else: print("pls digit!!!") continue if input_age == age_of_oldboy: #判断是否正确 print("right,you get it") break elif input_age > age_of_oldboy: print("wrong,think smaller") else: print("wrong.think bigger") count +=1 else: print("you have tried too many times..fuck off")