python学习第三次记录
python中常用的数据类型:
整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set).
- int。数字:主要用于运算。1 ,2,3...
- bool。判断真假:True, False.
- str。简单少量的储存数据,并进行相应的操作。name = 'alex',
- tuple。只读,不能更改。(1,'alex')
- list:大量有序数据,[1,'ses',True,[1,2,3],{'name':'jinxin'}]
- dict:大量数据,且是关联性比较强的数据 {'name':'jinxin','age':18,'name_list':['张三','李四']}
基础数据类型:
int操作方法:
1 num = 10 2 print(num.bit_length()) 3 # 运行结果:4
bit_length()就是帮助你快速的计算整数在内存中占用的二进制码的长度
bool布尔值
布尔值就两种:True、Flase。
真 1 True
假 0 False
int str bool三者之间的转换
1 # int ---> bool 2 i = 100 3 print(bool(i)) # True # 非零即True 4 i1 = 0 5 print(bool(i1)) # False 零即False 6 7 # bool ---> int 8 t = True 9 print(int(t)) # 1 True --> 1 10 t = False 11 print(int(t)) # 0 False --> 0 12 13 # int ---> str 14 i1 = 100 15 print(str(i1)) # '100' 16 17 # str ---> int # 全部由数字组成的字符串才可以转化成数字 18 s1 = '90' 19 print(int(s1)) # 90 20 21 # str ---> bool 22 s1 = '太白' 23 s2 = '' 24 print(bool(s1)) # True 非空即True 25 print(bool(s2)) # False 26 # bool ---> str 27 t1 = True 28 print(str(True)) # 'True'
字符串str:
字符串:凡是用引号引起来的数据可以称为字符串类型,组成字符串的每个元素称之为字符,将这些字符一个一个连接起来,然后在用引号引起来就是字符串。
字符串的索引与切片
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
1 a = 'ABCD' 2 print(a[0]) 3 print(a[2])
程序运行结果:
A
C
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。
1 a = 'ABCDEFGHIJK' 2 print(a[0:3]) # print(a[:3]) 从开头开始取0可以默认不写 3 print(a[2:5]) 4 print(a[:])# 默认到最后 5 print(a[0:]) 6 print(a[:-1])# -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到K元素 7 print(a[:5:2])# 加步长 8 print(a[-1:-5:-2])# 反向加步长
字符串常用的方法:
首字母大写capitalize
1 s = 'alexWUsir' 2 s1 = s.capitalize() # 首字母大写 3 print(s1) 4 # 程序输出结果:Alexwusir
字符串全大写(upper)和全小写(lower)
1 s = 'alexWUsir' 2 s2 = s.upper() 3 s21 = s.lower() 4 print(s2, s21) 5 # 程序输出结果:ALEXWUSIR alexwusir
大小写翻转 swapcase
1 s = 'alexWUsir' 2 s3 = s.swapcase() 3 print(s3) 4 # 程序输出结果:ALEXwuSIR
每个隔开(特殊字符或者数字)的单词首字母大写
1 s = 'alex*egon-wusir' 2 s4 = s.title() 3 print(s4) 4 s = 'fade,crazy*w4rri0r_songsong node_3' 5 s4 = s.title() 6 print(s4) 7 # 程序输出结果: 8 # Alex*Egon-Wusir 9 # Fade,Crazy*W4Rri0R_Songsong Node_3
居中,空白填充 center
1 s = 'alexWUsir' 2 s5 = s.center(20,'~') 3 print(s5) 4 # 程序输出结果:~~~~~alexWUsir~~~~~~
从头开始数,数到第一个\t正好为8个空格,不足则不空格,如果还有\t,接着从第一个\t数到第二个\t任然为8个空格,以此类推直到最后一个\t结束
expandtabs
1 s = 'alexha\tsir' 2 s6 = s.expandtabs() 3 print(s6) 4 # 程序运行结果:alexha sir
公共方法len
1 s = 'alex二哥' 2 l = len(s) 3 print(l) 4 # 程序运行结果:6
以什么开头 startswith
1 s = 'alexWUsir' 2 s7 =s.startswith('alex') 3 s71 = s.startswith('U', 2, 5) 4 print(s7) 5 print(s71) 6 # 程序运行结果: 7 # True 8 # False
以什么结尾 endswith
1 s = 'alexWUsir' 2 s8 = s.endswith('sir') 3 s81 = s.endswith('U', 2, 5) 4 print(s8) 5 print(s81) 6 # 程序运行结果: 7 # True 8 # False
find 通过元素找索引,找不到返回-1,找到返回相应的下标
index通过元素找索引,找不到报错,找到返回相应的下标
1 s = 'alexWUsir' 2 s8 = s.find('A') 3 s81 = s.index('A') 4 print(s8, type(s8)) 5 print(s81,type(s8)) 6 # 程序运行结果: 7 # -1 <class 'int'> 8 # s81找不到报错
移除字符串头尾指定的字符(默认为空格)
strip rstrip(右边) lstrip(左边)
1 s = 'alexWUsir%' 2 s9 = s.strip('%') 3 print(s9) 4 # 程序运行结果:alexWUsir 5 6 s = ' *a%lexWUsi* r%' 7 s91 = s.strip(' %*') 8 print(s91) 9 # 程序运行结果:a%lexWUsi* r
数字符串中的元素出现的个数count
1 s = 'alexaa wusirl' 2 s10 = s.count('al') 3 print(s10) 4 # 程序运行结果:1
split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
1 s = ';alex;wusir;taibai' 2 l = s.split('a') 3 print(l) 4 # 程序运行结果:[';', 'lex;wusir;t', 'ib', 'i']
format的三种玩法 格式化输出
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)
replace()方法语法:
1 # str.replace(old, new [,max]) 2 # old -- 将被替换的子字符串 3 # new -- 新字符串,用于替换old子字符串 4 # max -- 可选字符串,替换不超过max次 5 s = '来看待街坊邻居复合大师街坊法好的撒见客户' 6 s11 = s.replace('街坊','老王',1) 7 print(s11) 8 # 程序运行结果:来看待老王邻居复合大师街坊法好的撒见客户
in关键词
1 # s = 'fhdsklfds' 2 # for i in s: 3 # print(i) 4 # s = 'fdsa苍井空fdsalk' 5 # if '苍井空' in s: 6 # print('您的评论有敏感词...')
is系列
1 # name='taibai123' 2 # print(name.isalnum()) #字符串由字母或数字组成 3 # print(name.isalpha()) #字符串只由字母组成 4 # print(name.isdigit()) #字符串只由数字组成