一、数据类型
1、int 1,2,3用于计算。
2、bool:True,False,用户判断。
3、str:存储少量数据,进行操作
'fjdsal' '二哥','`13243','fdshklj' '战三,李四,王二麻子。。。。'
4、list:储存大量的数据。
[1,2,3,'泰哥','12353234',[1,2,3]]
5、元祖:只读。
(1,2,3,'第三方',)
6、dict:字典{'name':'云姐','age':16}
字典{'云姐':[],'二哥':[200,200,200,。。。。。。]}
7、集合:{1,2,34,'asdf'}
1.1 int
1.1.1bit_length
(二进制位的长度)
i=8
print(i.bit_length())
2.1 bool
2.1.1字符串与数字之间的相互转换。
注意:字符串转换成数字必须要求字符串里是数字
(1)int----->str
i=1
s=str(i)
(2)str------>int
i='123' s=int(i)
(3) int------->bool
注意:只要是0就返回False,只要是非0就为True
i='' j=bool(i) print(j,type(j))
(4)bool----->int
bool----> int True 1 False 0
另外:True 与1相比,while 1效率更高
while True: pass while 1: 效率高 pass
(5)str------>bool
# s = "" -----> False # 非空字符串都是True # s = "0" -----> True
3.1 str 字符串的索引与切片。
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推
s ='qwertyuuiop' s1=s[0]#打印第一位 s2=s[2]#打印正数第2位
print(s1,s2)
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。
s3=s[0:3]#打印0到第三位,顾头不顾尾,最后一位不打印出来 s4=s[::-1]#倒数打印所有数 s5=s[0:]#正数打印所有数 s6=s[:]#正数打印所有数 # s7=[0:0] #什么都取不到 s8=s[0:5:2]#0到第5位,每个一个字符取一个数 s9=s[4:0:-1]#4到第0位, s10=s[3::-1]#3到第0位, s11=s[4::-2]#4位以前每隔一个字符打印 s12=s[-1::-1]#倒数打印所有数 print(s3,s4,s5,s6,s8,s9,s10,s11,s12)
3.2 字符串的常用方法。
3.2.1 capitalize 首字母大写
s="i love china" print(s.capitalize())
3.2.2 upper、lower 全大写全小写
s="i love china" s1=s.upper() s2=s.lower() print(s1,s2)
#用户验证举例 s_str="acEr" you_input=input("请输入名字") if s_str.upper()==you_input.upper(): print('成功') else: print("失败")
3.2.3
s='Alexogen' s1=s.swapcase() #大小写翻转 msg='op summer1amyleel' s2=msg.title() #每个单词的首字母大写,可以空格、数字、特殊字符分割 s3=s.center(20,'~')#居中 与填充(空白填充为None) s4=s.expandtabs( s6=s.startswith('Al')#是否以Al开头,返回值为布尔值 s7=s.startswith('o',4,8)#是否以o开头,可切片 s8=s.endswith('n')#以'n'结尾,返回值为布尔值
3.2.4 公共用法
s='Alexogen' s5=len(s)#计算s字符串的长度 print(s)
3.2.5 count 统计个数
s='&Black,BGr,agon%' s4=s.count('B')
3.2.6 expandtabs 补齐八个字符长度
s='alex\toop' #\t包括前面的字符,不足八位补齐空格 s1=s.expandtabs() print(s1)
默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
3.2.7 find、index、strip、lstrip 、split(重要)
s='&Black,BGr,agon%' s1=s.find('G')#通过元素找索引,找不到返回-1 s2=s.index('ra') #通过元素找索引,找不到报错 s3=s.strip() #默认去内容前后的空格,前后叠删 s4=s.lstrip('&') #从左向右删除&符号 rstrip(从右删) # username=input("请输入名字").strip() # if username=="春哥": # print(username) s5=s.split(',') #以;对字符串进行分割,分割成列表
3.2.8 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)
3.2.9 replace
s=' Alex ogen dadfsdfdsf ' s4=s.replace('a','2',1) #将a替换为2,1代表值替换一次 print(s4)
3.2.10 #####is系列
name='jinxin123' print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成
4、1 for循环
S=input(‘你想输入的内容:’) For I in s: Print(i)