03 Day Python数据类型
一:什么是数据?
x=10,10是我们要存储的数据
2 为何数据要分不同的类型
数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示
3 数据类型
数字
字符串
列表
元组
字典
集合
二:数字int
1 #bit_length() 当十进制用二进制表示时,最少使用的位数 2 v = 11 3 data = v.bit_length() 4 print(data)
三:布尔值bool
布尔值就两种:True,False。就是反应条件的正确与否。
真 1 True。
假 0 False。
四:字符串str
(一).字符串的索引
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
1 a = 'ABCDEFGHIJK' 2 print(a[1]) 3 print(a[3]) 4 print(a[5]) 5 print(a[7])
(二).字符串的切片
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。
1 a = 'ABCDEFGHIJK' 2 print(a[0:3]) 3 print(a[2:5]) 4 print(a[0:]) #默认到最后 print(a[:]) 5 print(a[0:-1]) #-1就是最后一个 6 print(a[0:5:2]) #加步长 默认步长打印所有 -2为跳1 7 print(a[5:0:-2]) #反向加步长 由F开始向前打印 A变为尾。本着顾头不顾尾的原则 所以不会打印A
(三).字符串常用方法
1 #captalize(首字母大写),swapcase(大小写反转),title(每个单词的首字母大写) #upper 全部大写 #lower 全部小写 #len 2 s = 'lidongxu yanggang liuyi liangliang' 3 s1 = s.capitalize() 4 print(s1.capitalize()) #每句字符串首字母大写 5 print(s1.swapcase()) #大小写翻转 PS:反转所有字母 6 print(s1.title()) #每个单词的首字母大写 PS:特殊字符以及数字 7 8 # center() 内同居中,总长度,空白处填充 9 s = '欢迎' 10 s1 = s.center(20,"X") 11 print(s1) 12 13 #count() 数字符串中的元素出现的个数。 14 s = 'lidongxu yanggang liuyi liangliang' 15 s1 = s.count("a",0,4) # 可切片 16 print(s1) 17 18 19 20 s = 'abcdefg' 21 22 s2 = s.upper()#全部都是大写 23 s2.2 = s.lower()#全是小写 24 print(s2) 25 26 #求字符串长度 27 s = '132a4b5c' 28 data = len(s) 29 print(data) 30 31 32 33 # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。 34 a2 = "hqw\t" 35 #\t前面的补全 36 ret4 = a2.expandtabs() 37 print(ret4) 38 输出:hqw 39 如果\t放在hqw前面 则会输出 hqw 八个空格在前面。 40 41 42 43 #endswith 判断是否以...结尾 44 s = "dkfjdkfasf54" 45 s1 = s.endswith('jdk',3,6) # 顾头不顾腚 可切片!!!! 46 print(s1) # 返回的是布尔值 47 48 49 #startswith 判断是否以...开头 50 s = "dkfjdkfasf54" 51 s1 = s.startswith("kfj",1,4) 52 print(s1) 53 54 #寻找字符串中的元素是否存在 55 s = "dkfjdkfasf54" 56 s1 = s.find("fjdk",1,6) 57 print(s1) # 返回的找到的元素的索引,如果找不到返回-1 可切片!!! 58 59 # 返回的找到的元素的索引,找不到报错。 可切片!!! 60 s = "dkfjdkfasf54" 61 s1 = s.index("f",2,7) 62 print(s1) # 返回的找到的元素的索引,找不到报错。 可切片!!! 63 64 65 #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。 66 # ret9 = 'title。Tilte。atre'.split('t') 67 # print(ret9) 68 ret91 = 'title。Tilte。atre。li。zhang。wu'.rsplit('。',2) 69 ret92 = 'title。Tilte。atre。li。zhang。wu'.rsplit(',',1) 70 ret93 = 'title。Tilte。atre。li。zhang。wu'.rsplit(',') 71 print(ret91) #输出结果:['title。Tilte。atre。li', 'zhang', 'wu'] 72 print(ret92) #输出结果:['title。Tilte。atre。li。zhang', 'wu'] 73 print(ret93) #输出结果:['title', 'Tilte', 'atre', 'li', 'zhang', 'wu'] 74 75 76 #format的三种玩法 格式化输出 77 msg= '我叫{},今年{}岁。喜欢{}'.format('小明',20,'钓鱼,') 78 msg = '{0} {0} {0}'.format('egon',18,'male') 79 msg = '{name} {age} {sex}'.format(sex='male',name='egon',age=18) 80 print(msg) 81 82 #strip 替换某一个 83 name='**egon**' 84 print(name.strip('*')) #替换两边 85 print(name.lstrip('*')) #替换前面 86 print(name.rstrip('*')) #替换后面 87 88 89 90 #replace 取代(自我,旧的,新的,数=无) 91 name='alex say :i have one tesla,my name is alex' 92 print(name.replace('alex','SB',1)) 93 PS:输出结果:SB say :i have one tesla,my name is alex 94 如果将数字修改成2 那么最后面的alex也会被替换成SB 95 96 #is系列 97 name='jinxin123' 98 print(name.isalnum()) #字符串由字母或数字组成 99 print(name.isalpha()) #字符串只由字母组成 100 print(name.isdigit()) #字符串只由数字组成
浙公网安备 33010602011771号