4.运算符
- 身份运算(is ,is not)
- is比较的是id,而双等号比较的是值
- 毫无疑问,id若相同则值肯定相同,而值相同id则不一定相同
>>> x=1234567890 >>> y=1234567890 >>> x == y True >>> id(x),id(y) (3581040, 31550448) >>> x is y False |
5.for循环
循环可以迭代的对象里面的内容:
name = ('nick','jenney') for i in name: print(i) |
for和while的应用场景:有穷尽优先使用for, 无穷尽用while
6.enumrate创建序列号
为一个可迭代的对象添加序号,可迭代的对象你可以理解成能用for循环的就是可迭代的。默认是编号是从0开始,可以设置从1开始
li = ["手机", "电脑", '鼠标垫', '游艇'] for k, i in enumerate(li,1): print(k,i) 手机 电脑 鼠标垫 游艇 |
7.range和xrange
迭代循环:不会先在内存中创建,而是每次循环就创建一次,(节约内存)
for i in range(10): #循环输出所生成的 0-9 print(i) ========================================= for i in range(1,10,2): #输出所生成的 1 3 5 7 9 print(i) 可以设置步长 ----->> range(0,100,2) range 里面会生成一个列表 [0,1,2,3,4,5,6,7,8,9,10] |
8.==和is的区别
'''查看内存相关''' v2 = 'zhangs' print(id(v2)) # 查看内存地址 ====================================================== # python数据的小数据池 -5~256 ====================================================== ''' ==和is的区别''' # == 比较的是值 # is 比较的是内存地址 |
9.数据类型间的转换问题
int bool str 三者转换
# int ---> bool i = 100 print(bool(i)) # True # 非零即True i1 = 0 print(bool(i1)) # False 零即False ====================================================== # bool ---> int t = True print(int(t)) # 1 True --> 1 t = False print(int(t)) # 0 False --> 0 ====================================================== # int ---> str i1 = 100 print(str(i1)) # '100' ====================================================== # str ---> int # 全部由数字组成的字符串才可以转化成数字 s1 = '90' print(int(s1)) # 90 ====================================================== # str ---> bool s1 = '太白' s2 = '' print(bool(s1)) # True 非空即True print(bool(s2)) # False # bool ---> str t1 = True print(str(True)) # 'True' |
str list 两者转换
# str ---> list s1 = 'alex 太白 武大' print(s1.split()) # ['alex', '太白', '武大'] ====================================================== # list ---> str # 前提 list 里面所有的元素必须是字符串类型才可以 l1 = ['alex', '太白', '武大'] print(' '.join(l1)) # 'alex 太白 武大' |
list set 两者转换
# list ---> set s1 = [1, 2, 3] print(set(s1)) ====================================================== # set ---> list set1 = {1, 2, 3, 3,} print(list(set1)) # [1, 2, 3] |
str bytes 两者转换
# str ---> bytes s1 = '太白' print(s1.encode('utf-8')) # b'xe5xa4xaaxe7x99xbd' ====================================================== # bytes ---> str b = b'xe5xa4xaaxe7x99xbd' print(b.decode('utf-8')) # '太白' |
所有数据都可以转化成bool值
'', 0, (), {}, [], set(), None |
10.数据类型总结
- 集合:无序,即无序存索引相关信息
- 元组:有序,需要存索引相关信息,不可变
- 列表:有序,需要存索引相关信息,可变,需要处理数据的增删改
- 字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改