关于各个函数的随笔
字符串类型
strip,lstrip,rstrip#去掉星 # msg="***hello***" # print(msg.strip("*")) # print(msg.lstrip("*")) # print(msg.rstrip("*"))
2、lower,upper msg="HeLlo" # print(msg.lower())#转为小写 # print(msg.upper())#转为大写 # print(msg)
3、startswith,endswith # msg="egon is hahah" # print(msg.startswith("eg"))#判断以什么开头 # print(msg.startswith("egon"))#判断以什么结尾 # print(msg.endswith("ah"))
4、format的三种玩法 # 字符串格式化 # 方式1: # res = "my name is %s my age is %s" % ("egon",18) # print(res) # 方式2: # res="my name is {name} my age is {age}".format(age=18,name="egon")#按照属性名传 # print(res) # # res="my name is {} my age is {}".format(18,"egon")#按照位置传 # print(res) # # res="my name is {0}{0}{0} my age is {1}{0}".format(18,"egon")#按照位置传 # print(res)
format高级玩法 # 对齐 # res="my name is {0:*<10} my age is {1}".format(18,"egon")#左对齐,占10个,并且不够用星号填充 # res="my name is {0:*>10} my age is {1}".format(18,"egon")#右对齐 # res="my name is {0:*^10} my age is {1:=^10}".format(18,"egon")#居中对齐 # print(res) # 进制与精度 # res="my name is {0:b} my age is {1:=^10}".format(18,"egon")#二进制 # res="my name is {0:o} my age is {1:=^10}".format(18,"egon")#八进制 # res="my name is {0:x} my age is {1:=^10}".format(18,"egon")#十六进制 # res="my name is {0:,} my age is {1:=^10}".format(13333333333338,"egon")#千分制,三位数三位数的分开 # res="my name is {0:.3f} my age is {1:=^10}".format(3.7777,"egon")#保留三位小数 # print(res) # # info={"age":18,"name":"egon"} # res="my name is {name} my age is {age}".format(**info) # age=18,name="egon"#**可以将字典拍散,把里面的数字调用出来 # l=[111,222] # res="my name is {} my age is {}".format(*l) # 111,222#*可以把列表拍散 # print(res)
f"" # name="egon" # age=18 # res=f"my name is {name} age is {age}"#f加在字符串前面,是format进阶版,可以直接传 # print(res)
5、split,rsplit # info="root:123:0:0" # print(info.split(":",2))#切分,标注以:为分隔符,没有的话就是默认是空格为分隔符,2是分隔的个数 # print(info.rsplit(":",2))#rsplit从右边开始切
6、join:用一个字符把一个列表连接成字符串,列表内包含的元素必须是字符串类型 # l=["a","b","c"] # print(l[0]+":"+l[1]+":"+l[2]) # res=":".join(l)#用:来连接上面的元素 # print(res) # info="root:123:0:0" # l=info.split(":")#切分上面的元素 # print(l) # print(":".join(l))#通过:重新连接上面的元素
replace # msg="egon is hahah egon" # res=msg.replace("egon","EGON")#替换字符 # print(res)
8、isdigit#判断一个字符串是否以纯数字组成,带小数点也不行 # print("abc".isdigit()) # print("123 ".isdigit()) # print("12.3".isdigit()) # print("123".isdigit())
需要了解的操作
1、find,rfind,index,rindex,count msg="xxhegonllegon123abclxxx" # print(msg.find("egon"))#寻找子字符串在大字符串中的起始位置 # print(msg.find("egonx")) # print(msg.find("egon",6,20))#找egon从6到20内查找 # print(msg.find("egon",6,7)) # print(msg.rfind("egon"))#从右边开始找 # print(msg.find("egonx")) # print(msg.index("egonx"))#找不到会直接报错,不会像find一样返回-1 # print(msg.rfind("egon")) # print(msg.rindex("egon"))
2、center,ljust,rjust,zfill # print("egon".center(50,"*"))#50指定宽度,egon居中显示,不够就用*填充 # print("egon".ljust(50,"*"))#左对齐 # print("egon".rjust(50,"*"))#右对齐 # print("egon".zfill(50))#默认右对齐,只能指定宽度,用0填充
3、expandtabs #跟着\t使用,可以用数字来指定空格数
4、captalize,swapcase,title # print("hello world".capitalize())#首字母大写 # print("hello world".title())#每个单词首字母大写(标题) # print("HeL".swapcase())#大小写互换
5、is数字系列 num1=b'4' #bytes num2=u'4' #unicode,python3中无需加u就是unicode num3='四' #中文数字 num4='Ⅳ' #罗马数字 # 认为bytes,unicode是数字 # print(num1.isdigit()) # print(num2.isdigit()) # print(num3.isdigit()) # print(num4.isdigit()) # 认为unicode,中文、罗马是数字 # print(num2.isnumeric()) # print(num3.isnumeric()) # print(num4.isnumeric()) # 认为unicode是数字 # print(num2.isdecimal()) # print(num3.isdecimal()) # print(num4.isdecimal())
6、is其他 # name='egon123' # print(name.isalnum()) #字符串由字母或数字组成#检验正伪 # print(name.isalpha()) #字符串只由字母组成 # # name="def" # print(name.isidentifier())#检测是否能当一个合法的变量名 # name="xxx" # print(name.islower())#判断是否小写 # print(name.isupper())#判断是否大写 # name=" 1 " # print(name.isspace())#是否由空格组成 # name="Hello World" # print(name.istitle())#是否首字母大写
列表类型
1、用途:按照位置记录多个值=》索引对应值
2、定义方式:在[]内用逗号分割开多个任意类型的值
l=[11,11.11,"aaa",[222,333]] # l=list(..)
3、常用操作+内置的方法 #优先掌握的操作: #1、按索引存取值(正向存取+反向存取):即可改也可以取 # l=["aaa",2222,"cccc"] # print(l[0]) # print(l[-1]) # print(id(l)) # l[0]="xxx" # print(id(l)) # l[3]="dddd" # 错误
2、切片(顾头不顾尾,步长) # l=[111,222,333,444,555,666,777] # print(l[0:5]) # print(l[0:5:2]) # 0 2 4 # print(l[:]) # 拷贝新列表 # print(l[::-1])
3、长度 # print(len(l))
4、成员运算in和not in # print(111 in l)
5、追加 # l=["aaa",2222,"cccc"] # res=l.append("ddd") # l.append("eee") # print(l) # print(res) #5.1 插入 # res=l.insert(1,"xxx") # print(l) # print(res)
6、删除 # l=["aaa",2222,"cccc"] # (1) 万能删除 # del l[0] # print(l) # (2) l.remove:指定元素删出 # res=l.remove(2222) # print(l) # print(res) # (3) l.pop: 指定索引删除,会有返回值,返回删除的元素 # res=l.pop(0) # print(l) # print(res)
7、循环 # l=[111,222,333,444,555,666,777] # for i in l: # print(i)
l=[111,222,333,111,444,555,666,777] # ========================>l.count()#统计次数 print(l.count(111)) # ========================>l.extend()#拆分并且添加 l.extend("hello") l.extend(["xxx","yyy"]) print(l) # ========================>l.reverse() # l=[111,222,333,111,444,555,666,777] # res=l.reverse()#倒写 # print(l) # print(res) # ========================>l.index() # l=[111,222,333,111,444,555,666,777] # print(l.index(111,1,5))#寻找 # print(l.index("xxx",1,5))#找不到会报错 # ========================>l.clear() # l.clear() # print(l)
========================>l.copy() # res=l.copy() # 浅拷贝 # res=l[:] # 浅拷贝 # print(res) 浅拷贝就是复制不可修改类型数据,可修改数据不复制 深拷贝就是全都复制,可修改数据更改也不会影响到拷贝的部分
l=[3,-1,4,9,7,"x"] l.sort(reverse=True)#sort排序,reverse=True是取反排序 print(l)
元组类型
定义方式:在()内用逗号分隔开多个任意类型的元素 # l=(11,11.11,"aaa",[222,333]) # l=tuple(...)#tuple工厂函数 # print(l[-1][0])#找倒数的第一个里面的第一个元素 # l[0]=11111#不可更改 # print(type(l))tuple类型
# ==========》需要掌握 # t=(11,222,333,222) # print(t.index(2233333332))#寻找,但找不到会报错 # print(t.count(222))#统计次数
类型总结
存多个值
有序
不可变
# t=(11,22,["xx","yy"]) # print(id(t[0]),id(t[1]),id(t[2])) # t[0]=111111#不可更改 # t[1]=111111#不可更改 # t[2]=33333333#不可更改 # t[2][0]="XXXXXXXXXXXXXXX"#可更改 # # print(t) # print(id(t[0]),id(t[1]),id(t[2]))#id不变
浙公网安备 33010602011771号