---恢复内容开始---
一、编码知识的回顾:(1)ascii: 最开始是简单的密码本,一个字符八个字节,最左边都是0;
(2)万国码,unicode,目前两个版本,两个字节(16位)表示一个字符,四个字节(32位)表示一个字符。
(3)unicode 的升级 ——utf-8:用最少的位数(字节)表示一个字符,英文字符:
一个字节,欧洲有些语言用两个字节表示,亚洲等国家用三个字节来表示;
(4)gbk :中国特有的:两个字节表示一个字符。
二、 例题: "李洁”用utf-8表示有6个字节。gbk:四个字节
字符串与数字之间的转换的条件是什么? int(True)==1 int(False)==0
面试题:
print(int(True)) # 1 print(int(False)) #0 print(bool(1)) #True print(bool(0)) #False
优先级:
()>not>and>or
print(1 or 1>4) #1 print(1>1 or 2) #2 print(3 and 0) #0 print(2>1 or 3>4 and 5) #True print(1 or 3 or 3>4 and 5) #1
三、数据的基本类型:
1、int. 数字,运算。1、2、3、。。
2、bool 判断真假:True False
3、str简单少量的储存数据,并进行相应的操作
4、tupe 元组 (2,“sdsf”)
5、list 列表:大量数据储存 [1,"sdsfew",True,["fdss]
6、dict: 字典{“name”:"hao","age":18}
7、set 集合
(1)首字母大写 其余小写
ret="asdDDse" ret1=ret.capitalize() print(ret1) # Asdddse
(2) upper lower 全部变成大写或者小写
ret="asdDDse" ret2=ret.upper() print(ret2) #ASDDDSE ret3=ret.lower() print(ret3) #asdddse
例子 验证码的输入
name="LiuYahong".upper() name1=input("请您输入验证码,不区分大小写").upper() if name1==name: print("验证码正确!") else:print("验证码错误,请您重新输入")
(3)swapcase 大小写字母翻转
ret="asd,dDse" ret4=ret.swapcase() print(ret4) #ASD,DdSE
(4)center 居中 (重要)
ret="asddDse" ret5=ret.center(20) ret6=ret.center(20,"*") print(ret5) # asddDse print(ret6) #******asddDse*******
(5)startswith endswith 切片 查找元素返回bool值
ret="asddDse" ret7=ret.startswith("a") ret8=ret.startswith("b") print(ret7) #True print(ret8) #False ret9=ret.endswith("e") print(ret9) #True ret10=ret.startswith("d",2,5) (切片) print(ret10) #True
(6)count 计算某元素的数量 可以切片
ret="asddDse" ret12=ret.count("d") print(ret12) #2 ret14=ret.count("w") print(ret14) #0 ret13=ret.count("d",1,4) (切片) print(ret13) #2
(7)exspantabs 默认将第一个tab键变成8个空格,如果tab前不足8个则补全,如果tab键前面的字符超过八个则按八的倍数补全
ret="asddDs333333e\t" ret15=ret.expandtabs() print(ret15) #asddDs333333e print(len(ret15)) #16
(8)find index *find 通过元素查找索引(找到第一个元素),找不到则返回-1
index通过元素查找索引 ,找不到则报错
ret="asddDse" ret16=ret.find("a") print(ret16) #0 ret17=ret.find("f",0,5) (可切片) print(ret17) #-1
(9)strip 两端消除空格(可以去掉指定的字符在两端的,不允许有空格) lstrip左端消除 rstrip右端消除
可以删除指定元素
ret=" asddDse " print(ret.strip()) #asddDse print(ret.rstrip()) # asddDse print(ret.lstrip()) #asddDse
ret="asddDse "
print(ret.strip("a")) #asddDse
print(name.lstrip("al")) #2)移除name变量左边的’al’并输出处理结果
print(name.rstrip("Nb")) #3)移除name变量右面的’Nb’,并输出处理结果
print(name.strip("ab")) #4)移除name变量开头的a’与最后的’b’,并输出处理结果
(10)split 将字符串分割成列表(以空格 指定字母为界限 可以指定步长)
ret="as ddD se222222222222" print(ret.split()) #['as', 'ddD', 'se222222222222'] print(ret.split("s")) #['a', ' ddD ', 'e222222222222'] print(ret.split("s",1)) #['a', ' ddD se222222222222']
(11)replace 替换元素(可以设置替换次数)
ret="asddDse" print(ret.replace("a","f")) #fsddDse print(ret.replace("d","w",1)) #aswdDse
(12)format 格式化输出
第一种方法:
ret18="name:{},add:{},age:{}".format("liu","china",24) print(ret18) #name:liu,add:china,age:24
第二种方法 ret19="name:{0},add:{1},age:{2},name:{0}".format("liu","china",24) print(ret19) #name:liu,add:china,age:24,name:liu
第三种方法:键值对 ret20="name:{name},add:{add},age:{sge}".format(name="liu",add="china",sge=24) print(ret20) #name:liu,add:china,age:24
(13)isalnum isdigit isalpha 判断字符串的组成返回bool值
ret21="123fdsfvg31" print(ret21.isalnum()) #字符串由字母或者数字组成 True print(ret21.isdigit()) #字符串只由数字组成 False print(ret21.isalpha()) #字符串只由字母组成 False
(14)例子:打印字符串 利用while循环 或者if 条件语句
1、改变条件
ret="123fdsfvg31" index=0 while index<len(ret): print(ret[index]) index+=1
2、break 结束
ret="123fdsfvg31" index=0 while True: #if index !=len(ret): print(ret[index]) index+=1 #else: if index ==len(ret): break
15、for 循环 for 变量 in可迭代对象
(接上个打印字符串的例子)第三种方法
ret="123fdsfvg31" for i in ret: print(i)
例子:计算字符串中的数字数量(利用for循环)
ret="123fdsfvg31" count=0 for i in ret: if i.isdigit(): count+=1 else:continue print(count) #5
16、bit_length() int(数字类型)查看数字所占的二进制的位数
v = 16 data = v.bit_length() prin数字t(data) #4
17、bool与 str 之间的转换 bool = True(1) False(0)
非空字符串转换成bool值是True 空字符串转换成bool值是False
bool ——str print(str(True),type(str(True))) #True <class 'str'> print(str(False)) #False int——bool #True print(bool(1)) print(bool(0),type(bool(0))) #False <class 'bool'> bool——int print(int(True),type(int(True))) #1 <class 'int'> print(int(False)) #0
18、例子 空字符串
name=" " 表示空格代表的是True if name: print("输入正确内容") else: print("请重新输入") #输入正确内容
19、索引和切片
索引和切片[起始位置:结束位置;步长]
name="我爱中华,我爱中国" print(name[0:1]) #我 print(name[1:6:2]) #爱华我 print(name[:7]) #我爱中华,我爱 print(name[2:-1]) #中华,我爱中 print(name[:]) #我爱中华,我爱中国
print(name[::-3]) #国我中