一:数据类型转换 1:bool-->int 将bool转成 int型 True 是1 False是0 a=True c=int(a) print(c) b=False d=int(b) print(d) 2:int——〉bool 将int转换成bool型 0: False 非零:True a=0 #-1 1 0 b=bool(a) print(b) 将int 转换成 bool 型时,只要int是非零的数据,结果都是True, 如果int是0,则结果是 False 空的东西是False ,非空的东西是True ,如下例子: a="你好" b=bool(a) print(type(b)) #结果:True,类型:bool print(type(a)) #结果:<class 'str'> print(bool("你好")) #结果: True print(type(bool("你好"))) #类型:bool print(bool("")) #里面啥都没有,打印值为False print(bool(" ")) #里面有个 空格 ,也占用空间,打印的bool值为 True 3:while True 实际是 while 1 (实际上电脑里面是01010的在处理,所以 用数字代表True会更好) 如下例子: while 1: print("死循环!") 二:字符串的 索引-切片: 1:索引: s[n] n是指 索引为n的那个目标字符,n为目标字符的索引。 s="敲代码是一件很高兴的事情" print(s[3]) # 打印: 是 print(s[5]) #打印: 件 当索引为负数时,会 从右往左 执行,查找需要的目标字符。: n大于实际 索引的总数时,会报错:IndexError: string index out of range # 当s[n] 中的索引 n 是正数是,从 0开始左往右数,, 当n为负数时,从 1 开始 ,从右往左 数 : print(s[-4]) #打印:兴 2:切片: a="哎呦今天没钱吃饭了,咋办呦" print(a[99]) #IndexError: string index out of range a="哎呦今天没钱吃饭了,咋办呦" 切片:从头到尾的切片,但是顾头不顾尾最后一个没有被切片! s[start:end] start:开始的索引 end 结束的索引 print(a[2:9]) #从2到9 ,不包含9 #打印:今天没钱吃饭了 --〉顾头不顾尾 print(a[2:]) #从索引2 开始,到结尾结束。 打印:今天没钱吃饭了,咋办呦 print(a[:]) #从头切到尾,全部都切掉,打印:哎呦今天没钱吃饭了,咋办呦 print(a[5:3]) #无打印结果,因为默认的打印顺序是从左往右。 3: 切片步数 step的 正负 不同含义: s[start:end:step] 如果step是 正数,则从左往右开始切片,不包含最后的字符。 如果step是 负数,则从右往左开始切片,不包含最后的字符 s="哎呦今天没钱吃饭了,咋办呦" #print(s[1:7]) #顾头不顾尾打印:呦今天没钱吃 print(s[3:5:-1]) #右边从1开始数数切片:打印:呦办咋,
s = "金毛狮王谢逊紫衫龙王黛绮丝" # print(s[3:1:-1])# 切片方法:-1代表顺序是从右往左切片,3:1 代表是从左边开始数索引,从 ”金毛狮王“ 这个区间开始, 再取 索引是3(王)到索引是1(毛)之间的字符,(此时切片顺序是从右往左,也是顾前(王)不顾后(毛))## 总结:s[start:end:step],如果step是正数,则从左往右开始切片,也是顾头不顾尾# 如果step是负数,则从右往左开始切片,(此时 头是 索引为end的字符,尾是索引为start的字符, )顾头不顾尾, 取end到start之间的数值(此时取值方向是从右往左)# # step: 步长。 每隔xx个取1个。 默认是1 如果step是-1 从右往左取值#
如果是a[-1:-3] 则取不到值,因为是step 默认是1(类似:a[-1:-3:1])
三:字符串操作: 1:(a.capitalize())首字母大写: a="abcd" b=a.capitalize() print(b) #打印结果:"Abcd" 2:a.lower()--将字符串中的大写字母全部都转换成 小写字母(大写字母--〉 小写字母) a="ABCE" b=a.lower() print(b) #打印:abcd 3:a.upper()--将字符串中的字幕全部转换成大写 (小写字母--〉大写字母) a="abcd" b=a.upper() #xxx.方法() print(b) #打印:ABCD,将字符串中的小写字母全部转换成大写 4:a.swapcase()--将字符串中的大写转换成小写,小写转换成大写! a="abKocGl" b=a.swapcase() print(b) #打印:ABkOCgL 5: a.title()--将每个不连续的单词的 首字母转换成大写字母 a="kb 哈cd哈o哈iu" b=a.title() print(b) #打印:Kb 哈Cd哈O哈Iu 6: a.center(11,"&")--使字符串返回一个以num长度为准的新的字符串,并且如果是奇数个, 则左边的空格或则自定义的字符比右边多 a="5907" #b=a.center(num,"&") b=a.center(11,"&") print(b) #打印:&&&&5907&&& 7: a.strip() 去掉字符串两边的空格 这个在用户登陆用户名和密码时会用到 a=" ab df " b=a.strip() print(b) #打印: ab df (注意,.strip不能去掉字符串中间的空格) 例子: username=input("用户名:").strip() pwd=input("密码:").strip() if username=="a" and pwd=="123": print("登陆成功!") else: print("登陆失败!") 8: a.strip() 去掉左右两边指定的内容: a="ab----yuyh---ab" b=a.strip("ab") #=去掉左右两边的 指定值:ab print(b) #打印:----yuyh--- 9: a.replace(a,b) 将字符串中的a 替换成 b。 例子: a="一点钱都没有了,怎么办?" b=a.replace("一点钱都没有了","突然暴富了") print(b) 10: a.split() 从制定位置开始切割。从哪里切割,哪里就会消失 001:切割后,剩余下来的内容,打印出来的结果是一个列表 a="我的天涯,哎呦不错,突然暴富" b=a.split("哎呦") print(b) #打印:['我的天涯,', '不错,突然暴富'] 002:如果是以换行符切割的话,最后的一个字符后面的换行也要切割 s = """诗人 学者 渣渣 """ print(s.split("\n")) #打印:['诗人', '学者', '渣渣', ''] 004:如果是贴边切割(即 用全部的内容切割,则内容没有了), 一定会有空字符串 a = "我的天涯,哎呦不错,突然暴富" print(a.split("我的天涯,哎呦不错,突然暴富")) 打印结果:['', ''] 四:其他基本方法: 01:a.startswith()判断是否是=以xxx开头,是 则True。不是则False a.startswith() 判断是是不是以xx 开头.如果是,则结果为True 如果不是则结果为False ; 例子: a="苍茫的天涯是我的爱呀" print(a.startswith("苍茫")) #打印结果:True print(a.startswith("我的")) #打印结果:False 02:a.endswith()判断字符串是否是以xxx结尾,是则True,不是则False a="苍茫的天涯是我的爱呀" print(a.endswith("我的爱")) #打印:True print(a.endswith("我的爱呀")) #打印:False 03: a.count("s") 判断a字符串里面有多少个 s,然后返回相应的数目 a="wode 爱呀 爱啊 暴富哈哈哈哈eeee" print(a.count("e")) #打印:5 print(a.count("爱呀爱")) #打印:0 (空格也算是字符) print(a.count(" ")) #打印:3 (空格也算是字符) print(a.count("")) #d打印:22 为什么有22个 04:find() 查找,如果找到了就返回元素的索引,并且当他找到第一个元素后就直接返回找到的元素的索引,不会再往后找了。 即使后面还有相同的元素。 没有找到就返回-1 a="wode 爱呀 爱啊 暴富哈哈哈哈eeee" print(a.find("爱")) #打印:5 只找到第一个字符后就停止了。其他的后面的字符就不找了 print(a.find("e")) #打印:3 只找到第一个字符后就停止了。其他的后面的字符就不找了 print(a.find("88")) #打印:-1 返回值为-1 =说明没有找到内容 05: a.index() 通过元素去找其对应的索引。并且只返回字符串的第一个元素的索引 a="abcdefg" print(a.index("cd")) #打印:2 只返回找的字符串的第一个元素的索引 06:len() 求字符串的长度(即:求字符串有多少个字符) a="老面馒头" print(len(a)) #打印:4 五:for 循环 for c in s(s代表字符串) #01: for 变量(c) in 可迭代对象(l) #例子: a="abadkfd" for c in a: print(c) 打印: a b a d k f d
for i in 10: print(i) #错误提示:TypeError: 'int' object is not iterable 因为常数是不能迭代的!