1.int 十进制与二进制之间的转换
二进制 ---> 十进制
0010 0111 ---> 1*2**0+1*2**1+1*2**2+1*2**5=39
十进制 ---> 二进制
42 ---> 101010
2. str
python中凡是用引号引起来的都是字符串
1)存储相对少量的数据
2)描述信息
字符串的索引,切片
s = "python脱产班20期"
每个字符都有对应的号码,通过索引(切片)出来的内容都是字符串的类型.
通过索引(下标)号牌找到对应的元素
1 s = "python脱产班20期" 2 s1 = s[0] 3 print(s1, type(s1)) 4 s2 = s[2] 5 print(s2) 6 s3 = s[-1] # 从后面查从-1开始 7 print(s3) 8 s4 = s[-2] 9 print(s4)
按照切片找值,遵循顾头不顾腚
1 s = "python脱产班20期" 2 s1 = s[:6] # 从0开始可以省略不写 3 print(s1) 4 s2 = s[6:9] 5 print(s2) 6 s3 = s[:] # 从头取到尾 7 print(s3) 8 s4 = s[6:] 9 print(s4) 10 11 # 切片+步长 12 s5 = s[:5:2] 13 print(s5) 14 15 16 # 反向取值必须加反向步长。 17 s6 = s[-1:-4:-1] 18 print(s6) 19 20 s7 = s[-1:-6:-2] 21 print(s7)
# [起始索引: 结尾索引+1: 步长] # 切片取值
字符串的常用操作方法
大前提:对字符串的任何操作都是产生一个新的字符串,与原字符串没有关系
capitalize(首字母大写), upper(每个字母大写), lower(每个字母小写), swapcase(大小写翻转),title(每个单词首字母大写)
1 s = 'asdsads' 2 print(s.capitalize()) 3 s = "AsdDFGsdsa" 4 print(s.swapcase()) 5 s = "hello python" 6 print(s.title()) 7 upper(全部字母大写) 8 s = "asdsads" 9 print(s.upper()) 10 lower(全部字母小写) 11 s = "SDSADSA" 12 print(s.lower()) 13 # 举例: 14 code = 'AeRf'.upper() 15 username = input('请输入用户名:') 16 your_code = input('请输入验证码:').upper() 17 if your_code == 'AERF' or your_code == 'aerf' or .... : 18 if your_code == code: 19 if username =='alex': 20 pass 21 else: 22 print('验证码输入有误')
1 s = 'taiBai' 2 # swapcase 大小写反转 * 3 s4 = s.swapcase() 4 print(s4) 5 6 s = 'alex wusir*taibai7wuchao' 7 # title 非字母隔开的每个单词的首字母大写 * 8 s5 = s.title() 9 print(s5)
strip(默认去除字符串两边的空格,换行符,制表符), lstrip(只是去除左边), rstrip(只是去除右边)
1 s = ' alex ' 2 s = ' alex ' 3 print(s) 4 s6 = s.strip() 5 print(s6) 6 7 name = input('请输入姓名:').strip() 8 if name == 'alex': 9 print('输入正确') 10 else: 11 print('输入错误') 12 13 s = 'qw*awle@xyt@' 14 # 可设置去除的字符 15 s6 = s.strip('qyt@w*') 16 print(s6)
spilt (split ---> list)
1 # 默认按照空格分割 2 s = '武大, 小潘, 西门' 3 l = s.split() 4 print(l) 5 # 指定字符分割 6 s = "武大,小潘,西门" 7 l = s.split(",") 8 print(l) 9 # 指定分割次数 10 s = "武大,小潘,西门" 11 l = s.rsplit(",", 1) 12 print(l)
join
1 # 操作列表时,列表里面的内容必须全部是字符串类型 2 # 连接符.join(iterable) 3 s = "alex" 4 s1 = "*".join(s) 5 print(s1) 6 l1 = ["wusir", "alex", "taibai"] 7 s1 = ",".join(l1) 8 print(s1)
startswith
1 # 判断以什么为开头 可以切片。 2 # endswith() 3 # 判断以什么为结尾,可以切片. 4 s = 'alextaibai' 5 s8 = s.startswith('a') 6 s8 = s.startswith('alex') 7 s8 = s.startswith('alex') 8 s8 = s.startswith('ta', 4, 9) # 顾头不顾腚 9 print(s8)
find , index
1 # find :通过元素获取其索引,找到第一个就返回,找不到会返回-1. 2 # index:通过元素获取其索引,找到第一个就返回,找不到会报错。 3 s = 'taibai' 4 s9 = s.find('a') 5 s9 = s.find('ai') 6 # 可以切片 7 s9 = s.find('a',2,) 8 print(s9,type(s9)) 9 s9 = s.find('W') 10 s9 = s.index('W') 11 print(s9)
replace
1 s = 'alex 是一个很nb的人,非常nb,太nb了' 2 s10 = s.replace('nb', 'sb') 3 s10 = s.replace('nb', 'sb', 2) 4 print(s10)
format
1 s = '我叫{},今年{},性别{}' 2 # 方法一: 3 s11 = s.format('美龙', '23', 'man') 4 print(s11) 5 6 # 方法二: 7 s = '我叫{0},今年{1},性别{2},我依然叫{0}{0}{0}' 8 s11 = s.format('美龙', '23', 'man') 9 print(s11) 10 11 # 方法三: 12 s = '我叫{name},今年{age},性别{sex},我依然叫{name}' 13 s11 = s.format(name='美龙', sex='man', age='23') 14 print(s11)
is系列
1 name='taibai123' 2 print(name.isalnum()) #字符串由字母或数字组成 3 print(name.isalpha()) #字符串只由字母组成 4 print(name.isdigit()) #字符串只由数字组成 *** 5 i = '1000a' 6 if i.isdigit(): 7 int(i) 8 else: 9 print('重新输入')
count
1 s = 'fdjskfldjsafkldjasfl' 2 # count 计数:字符串某个字符出现的次数 3 print(s.count('f'))
len()
1 # len()获取字符串的字符个数,总长度 2 print(len(s),type(len(s)))
3.for循环
1 s = 'dkfdsafdasfdasfdaslsfa' 2 # for 循环:有限循环 3 ''' 4 for 变量 in iterable: 5 pass 6 ''' 7 for i in s: 8 print(i) 9 if i == 's': 10 break 11 12 # break 13 # continue 14 15 # for else: 用法与while else相同