一、数据类型
- int 数字,(1、2、3)主要用于计算。
- bool 布尔值 True/False 主要用于判断
- str 字符串 存储少量数据
- list 存储大量数据 [1,2,3,'文字','abcdj']
- 元祖 只读 也可以存放数据 (1,2,3,'文字')
- dict 字典 {'name':'lilei','age':'18'} 字典关系性比较强
- 集合 {1,2,3,45}
1)int
1 a = 100 2 b = a.bit_length() #bit_length为数字转换为二进制时的字符长度 3 print(b) 4 5 6 7 7
2)bool
- int转换为bool 非零数字均为True,0为False。
1 print(bool(3)) 2 print(bool(0)) 3 print(bool(-2)) 4 5 6 True 7 False 8 True
- bool转换为int True为1,False为0。
1 print(int(True)) 2 print(int(False)) 3 4 1 5 0
- str转换为bool 非空字符均为True
1 print(bool('aaa')) 2 print(bool('')) 3 print(bool("")) 4 print(bool("avfr")) 5 print(bool("nh12er")) 6 print(bool("q-adfe")) 7 8 True 9 False 10 False 11 True 12 True 13 True
3)str
- 索引、切片
1 s = 'abcdefg' 2 print(s[0]) #索引 输出字母a 3 print(s[3]) #输出字母d 4 print(s[0:3]) #索引:索引 切片输出abc 5 print(s[2:5]) #切片输出cde 6 print(s[0:5:2]) #索引:索引:步长 切片输出ace(每2位输出一个字母) 7 print(s[0:7:3]) #索引:索引:步长 切片输出adg(每3位输出一个字母) 8 print(s[7:3:-2]) #索引:索引:步长 切片输出ge(每2位输出一个字母)反向输出 9 print(s[7:0:-2]) #索引:索引:步长 切片输出gec(每2位输出一个字母)反向输出 10 print(s[7::-2]) #索引:索引:步长 切片输出geca(每2位输出一个字母)反向输出 11 print(s[:]) #完整输出abcdefg 12 print(s[::]) #完整输出abcdefg 13 print(s[::-1]) #反向完整输出abcdefg即gfedcba 14 print(s[:0:-1])#反向输出abcdefg,顾头不顾尾输出即为gfedcb
- 字符串常用方法
1 msg = 'hello Word!this8is*a TEST.' 2 print(msg.capitalize()) #首字母大写 Hello word!this8is*a test. 3 print(msg.swapcase()) #大小写反转 HELLO wORD!THIS8IS*A test. 4 print(msg.title()) #每个字段的首字母大写 Hello Word!This8Is*A Test. 5 print(msg.count("l")) #统计字符l出现的次数 2次 6 print(msg.count("l",0,3)) #统计切片"hel"中字符l出现的次数 1次
1 s = '666' 2 print(s.center(10,'X')) #666居中,左右两端X补位补齐至10位 XXX666XXXX 3 a = 'qwed' 4 print(a.center(9,'#')) #qwed居中,左右两端#补位补齐至9位 ###qwed## 5 m = 'qwe' 6 print(m.center(10,'X')) #qwe居中,左右两端X补位补齐至10位 XXXqweXXXX 7 8 b = 'XXX #' 9 print(b.expandtabs()) #XXX # 10 c = 'XXXXXXXXXX Q' 11 print(c.expandtabs()) #XXXXXXXXXX Q 12 13 14 15 #默认将一个tab键变成8个空格 如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
1 s = 'qwertdhyciiyst' 2 print(s.startswith('ert',2,5)) #判断切片是否以ert开头,返回值True。顾头不顾腚,所以尾是5后延一位至d。 3 print(s.find('dh',3,7)) #返回的找到的元素的索引,如果找不到返回-1。此题返回5,d在第5位。 4 print(s.index('dh',3,7)) #返回的找到的元素的索引,找不到报错。ValueError: substring not found 5 print(s.split('i')) #以什么分割,最终形成一个列表此列表不含有这个分割的元素。['qwertdhyc', '', 'yst'] 6 print(s.split('i',1)) #只切割第一个i,['qwertdhyc', 'iyst']
1 #format的三种玩法 格式化输出 2 res='{} {} {}'.format('egon',18,'male') 3 res='{1} {0} {1}'.format('egon',18,'male') 4 res='{name} {age} {sex}'.format(sex='male',name='egon',age=18) 5 6 #strip 7 name='*egon**' 8 print(name.strip('*')) 9 print(name.lstrip('*')) 10 print(name.rstrip('*')) 11 12 #replace 13 name='alex say :i have one tesla,my name is alex' 14 print(name.replace('alex','SB',1)) 15 16 #####is系列 17 name='jinxin123' 18 print(name.isalnum()) #字符串由字母或数字组成 19 print(name.isalpha()) #字符串只由字母组成 20 print(name.isdigit()) #字符串只由数字组成
# join
1 s = 'alex' 2 s1 = '_'.join(s) 3 print(s1) 4 ### a_l_e_x