1 int
只需知道 i.bit_length() 是算其二进制的位数, 如3 就是2; 5就是 3。
2 bool
要知道 while True == while 1 ;除零以外的所有数都为真
空字符串 == F ; 用 if a : 来判断接收的字符串是否为空,
3 str
索引与切片
字符串起始位置为0,切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾尾)。
a = 'ABCDEFGHIJK' print(a[0:3]) print(a[2:5]) print(a[0:]) #默认到最后 == print(a[:]) print(a[0:-1]) #-1就是最后一个 print(a[0:5:2]) #加步长 print(a[5:0:-2]) #反向加步长 print(a[::-1])#反向取且步长为1
字符串的常用方式
#captalize,swapcase,title print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg='egon say hi' print(msg.title()) #每个单词的首字母大写 # 内同居中,总长度,空白处填充 ret2 = a1.center(20,"*") print(ret2) #数字符串中的元素出现的个数。 # ret3 = a1.count("a",0,4) # 可切片 # print(ret3) a2 = "hqw " # 前面的补全 # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。 ret4 = a2.expandtabs() print(ret4) a4 = "dkfjdkfasf54" #startswith 判断是否以...开头 #endswith 判断是否以...结尾 # ret4 = a4.endswith('jdk',3,6) # 顾头不顾腚 # print(ret4) # 返回的是布尔值 # ret5 = a4.startswith("kfj",1,4) # print(ret5) #寻找字符串中的元素是否存在 # ret6 = a4.find("fjdk",1,6) # print(ret6) # 返回的找到的元素的索引,如果找不到返回-1 ,找到返回第一个字母的索引位置 # ret61 = a4.index("fjdk",4,6) # print(ret61) # 返回的找到的元素的索引,找不到报错。找到返回第一个字母的索引位置 #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。(默认用空格) # ret9 = 'title,Tilte,atre,'.split('t') # print(ret9) # ret91 = 'title,Tilte,atre,'.rsplit('t',1) # print(ret91) #format的三种玩法 格式化输出 res='{} {} {}'.format('egon',18,'male') res='{1} {0} {1}'.format('egon',18,'male')#用所引 res='{name} {age} {sex}'.format(sex='male',name='egon',age=18) #strip(默认删除空格),strip(*%@)不用加逗号 name='*egon**' print(name.strip('*')) print(name.lstrip('*')) print(name.rstrip('*')) #replace name='alex say :i have one tesla,my name is alex' print(name.replace('alex','SB',1)) #####is系列 name='eli123' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成
在来个 for 循环(是一个有限循环)
a="sfsdhfkjsdhfkjs"
for i in a:
ps:补充一个题,计算数字的个数
# 输入数据,要知道数字的个数 如:dskfh343jh435j35 info = input('>>>>').strip() for i in info: if i.isalpha(): info = info.replace(i ,' ') print(len(info.strip(' ').split()))