一 文件格式补充
在python3中,除字符串外,所有数据类型在内存中的编码格式都是utf-8,而字符串在内存中的格式是Unicode的格式。
由于Unicode的格式无法存入硬盘中,所以这里还有一种字节的数据类型(bytes)。而bytes的编码格式就是除Unicode以外的所有编码格式。
可以将字符串类型转换成bytes数据类型。转换方法如下
a='sadsa' a=a.encode('utf-8') print(a,type(a))
汉子用bytes数据类型表示是用十六进制的数字表示的
二 字符串的其他方法和功能
字符串在修改元素是会创建一个新的内存地址
# a=' 123 ' # b=a # print(a,b) # # a=a.lstrip() # # print(a,b)
1 casefold:全部变成小写 ,包含小种语言
# a='sdFEFf' # print(a.casefold())
2 center :填充; ljust:右边填充 rjust:左边填充
# a='dss' # print(a.ljust(10,'#')) #右边填充 # a='dsf' # print(a.rjust(10,'=')) #左边填充 # a='dfsfffff' # print(a.count('f')) #计算个数
3 expandtabs:缩进,主要用于制表 :换行符 :空格符
# a='name age fangjie 18' # print(a.expandtabs(10))
4 count :计算字符出现的个数
# a='dfsfffff' # print(a.count('f'))
5 find :索引值,找到第一个位置的索引值过后就会再去找,没有该字符就会返回-1
# a='effdf' # print(a.find('f'))
6 index :功能和find一样,但是没有该字符,就会报错
# a='effdf' # print(a.index('f'))
7 format :占位符的功能,需要几个值就传几个值,还可以和* **同时使用,有四种用法
# a='我叫{0},爱{1}' # print(a.format('fang','jie'))
8 format_map 占位符的功能,但是只能用于字典的格式
# a='姓名:{name},年龄{age}' # print(a.format_map({'name':'fang','age':18}))
9 isalnum : 判断是否为数字,字母和文字
# a='fan既然2132' # print(a.isalnum())
10 isalpha:判断是否为字母和文字
# a='fan既然' # print(a.isalpha())
11 isdecimal:判断是否是数字,只能用于单纯的数字
issigit:判断是否是数字,可以用于符好的数字
isnumeric:判断是否是数字,不仅可以识别符号的数字,还剋有识别大写的文字数字
a='21' print(a.isdecimal()) a='332②' print(a.isdigit()) a='②21十八' print(a.isnumeric())
12 isprintable:判断是否可以打印
# a='sa dsf sdf' # print(a.isprintable())
13 isspace:判断是否全是空格
# a=' ' # print(a.isspace())
14 istitle:判断是否是标题,标题的每个单词首字母都认识大写
# a='Is Am Fang' # print(a.istitle())
15 isupper:判断是否全是大写
# a='AJD' # print(a.isupper())
16 partition:从左到右寻找分隔符分割,并打印分割的元素,但是找到了第一个就停止该功能
# a='2+3+5' # print(a.partition('+'))
17 rpartition:从右到左寻找分隔符分割,并打印分割的元素,但是找到了第一个就停止该功能
# a='2+3+5' # print(a.rpartition('+'))
18 swapcase:大写变小写,小写变大写
# a='sdDS' # print(a.swapcase())
19 maketrans和translate:maketrans:字符的对应关系,translate:替换对应关系一般这两个是一起使用的
# table=str.maketrans('dfag','1234') # a='sdfsdgs' # print(a.translate(table))
20 split:从开始寻找分割符;raplit:从右到左开始寻找分割符,都可以传两个参数,一个是以什么分割的参数,第二个是分个几次。默认按最多的分割
a='dfgsdfdsd' print(a.split('f')) a='dffgsdfdsd' print(a.rsplit('f',1))
21 islower:判断是否全是小写
a='dsfas' print(a.islower())
22 zfill:填充,只能用0填充,是从开始位置填充的
# a='dsfa' # print(a.zfill(20))
三 数字类型补充
1 to_bytes:将数字转换成字节
a=13 print(a.to_bytes(5,'big')) #big 将转换的数字放在最后面 a=13 print(a.to_bytes(5,'little')) #little 将转换的数字放在最前面
2 from_bytes:将字节转换成数字
# a = b'x02x00x00x00x00x00' # print(int.from_bytes(a,'little')) #little:数字在开始位置使用 # # a = b'x00x00x00x00x00x02' # print(int.from_bytes(a,'big')) #big:数字在最后位置使用
四 列表的功能补充
列表在修改元素时,是不会更改内存地址的,而是在原有的内存地址上进行修改
# a=[1,2,3] # b=a # print(a,b) # a.append(4) # print(a,b) # b.append(5) # print(a,b)
1 clear 清空列表
# li=[1,2,3,4] # li.clear() # print(li)
2 copy :拷贝 浅拷贝只拷贝第一层;深拷贝拷贝到最里面一层
# li=[1,2,3,4] # l2=li.copy() # print(li,l2) #拷贝
3 count :计算个数
# a=[1,2,3,4,2,3,2] # print(a.count(2))
4 extend :扩展
# li=[1,2,3,4,5] # l1=[5,6,7] # li.extend(l1) #扩展 # print(li)
5 index :索引
# li=[1,2,3,4,5] # print(li.index(4))
6 pop:按照索引删除
# li=[1,2,3,4,5] # li.pop(3) # print(li)
7 remove :按照对象值删除
# li=[1,2,3,45,6] # li.remove(45) # print(li)
8 sort :排序 True从大到小排序 ; False按照从大到小
# li=[1,2,3,4,5,6] # li.sort(reverse=True) #排序 True从大到小,False从小到大 # print(li)
5 元组功能补充
1 index :索引
# a=(1,2,3,4,5) # print(a.index(4))
2 count : 计算个数
# a=(1,2,3,2,1,2,2,) # print(a.count(2))