Python基础三(基础数据类型str的常用方法)
一整体初识数据类型
1.1int
数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:
#bit_length() 当十进制用二进制表示时,最少使用的位数 i = 4 print(i.bit_length()) v = 11 print(v.bit_length()) 输出结果分别为 3 ,4
1.2bool
布尔值就两种:True,False。就是反应条件的正确与否。
真 1 True。
假 0 False。
1.3str
1.3.1、字符串的索引与切片。
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
s = 'abcdefghijklmn' print(s[0]) #输出结果 a print(s[1]) #输出结果 b print(s[5]) #输出结果 f print(s[8]) #输出结果 i print(s[-1]) #输出结果 n print(s[-3]) #输出结果 l
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾首不顾尾)
s = 'abcdefghijklmn' print(s[0:7]) #输出结果:abcdefg print(s[1:7]) #输出结果:bcdefg print(s[0:]) #输出结果:abcdefghijklmn print(s[5:0:-1]) #-1反向加步长 输出结果:fedcb print(s[-1:-5:-1]) #第一个-1就是最后一个,第二个-1反向加步长 输出结果:nmlk print(s[-1:-5:-2]) #-2反向加步长 输出结果:nl
1.3.2、字符串常用方法
*capitalize()首字母大写,其他字母小写
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'alex wuSir' print(s.capitalize()) # 输出结果:Alex wusir
*swapcase()大小写反转
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'alex wuSir' print(s.swapcase()) # 输出结果:ALEX WUsIR
*title()非字母隔开的部分,首字母大写,其他小写
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'alex wuSir1taibai*ritian' print(s.title()) #输出结果:Alex Wusir1Taibai*Ritian
***upper() 全部大写
***lower() 全部小写
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'alexawuSir' print(s.upper()) #输出结果:ALEXAWUSIR print(s.lower()) #输出结果:alexawusir
在验证码用到的例子:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
code = 'abCD' you_code = input('请输入你的验证码:') if you_code.upper() == code.upper(): print('正确') else: print('请重新输入')
*center( , )以什么居中,填充物默认空
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'alex wuSir' print(s.center(20)) #输出结果: alex wuSir print(s.center(20,'*')) #输出结果:*****alex wuSir***** print(s.center(1)) #输出结果:alex wuSir
expandtabs()
\t前面的补全
默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'al\tex wuSir' print(s.expandtabs()) 输出结果:al ex wuSir
***find()通过元素找索引,可以整体找,可以切片,找不到返回-1
index()通过元素找索引,可以整体找,可以切片,找不到会报错
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'alexss dhfgsdjddfdf' print(s.find('a'),type(s.find('a'))) print(s.find('alex'),type(s.find('a'))) print(s.find('a')) print(s.find('a',1,5)) print(s.find('L')) 输出结果: 0 <class 'int'> 0 <class 'int'> 0 -1 -1
*** startswith endswith
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'alex wusir' print(s.startswith('a')) print(s.startswith('al')) print(s.startswith('w',5)) print(s.startswith('W',5)) print(s.endswith('r')) print(s.endswith('r',-1)) print(s.endswith('u',-4)) 输出结果: True True True False True True False
*****strip()去除字符串前后两端的空格,换行符,tab键等
如果()内有内容,去除该内容,见例子
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = '\talex wusir\n' s1 = 'alalelllllllxwusirbl' print(s.strip()) print(s.lstrip()) print(s.rstrip()) print(s1.strip('lab')) 输出结果: alex wusir alex wusir alex wusir elllllllxwusir
strip在登录时的应用
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name = input('请输入名字:').strip() if name == 'alex': print('somebody') else:print('请重新输入')
******split str --->list方法
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'alex;wusir;ritian' s1 = 'alexalaria' print(s.split(';')) print(s1.split('a')) print(s1.split('a',1)) 输出结果: ['alex', 'wusir', 'ritian'] ['', 'lex', 'l', 'ri', ''] ['', 'lexalaria']
******replace
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s1 = '姐弟俩一起来老男孩老男孩老男孩' s2 = s1.replace('老','小') s3 = s1.replace('老','小',1) print(s2) print(s3) 输出结果: 姐弟俩一起来小男孩小男孩小男孩 姐弟俩一起来小男孩老男孩老男孩
isalnum()#字符串由字母或数字组成
isalpha()#字符串只由字母组成
isdigit()#字符串只由数字组成
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name='jinxin123' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成 输出结果: True False False
************format
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = '我是{},今年{}岁,身高{}cm'.format('人',18,175) print(s) 输出结果: 我是人,今年18岁,身高175cm s = '我是{0},今年{1}岁,身高{2}cm,{0}民的意愿'.format('人',18,175) print(s) 输出结果: 我是人,今年18岁,身高175cm,人民的意愿 s = '我是{name},今年{age}岁,身高{high}cm'.format(name = '人',age = 18 ,high =175) print(s) 输出结果: 我是人,今年18岁,身高175cm
*********count 计算元素出现的次数
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'alexaaaaa wusir' print(s.count('a')) 输出结果: 6
***len 计算字符串位数
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'alex' s1 = 'afd dfb fdg ' print(len(s)) print(len(s1)) 输出结果: 4 12
二:for循环
用户按照顺序循环可迭代对象的内容。
例子:把字符串中的元素依次打印出来
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s = 'salffdsafdsag' #用while循环的方法: count = 0 while count < len(s): print(s[count]) count += 1 #用for循环的方法: for i in s: print(i)