python数据类型2

时间:2023-03-09 03:12:41
python数据类型2

一 文件格式补充

 在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:缩进,主要用于制表  \n:换行符        \t:空格符

# a='name\tage\nfangjie\t18'
# 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\ndsf\tsdf'
# 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'\x02\x00\x00\x00\x00\x00'
# print(int.from_bytes(a,'little')) #little:数字在开始位置使用
#
# a = b'\x00\x00\x00\x00\x00\x02'
# 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))