python基础(字符串补充)

一、 文件格式补充

  在python3中,除字符串外,所有数据类型在内存中的编码格式都是utf-8,而字符串在内存中的格式是Unicode的格式。

 由于Unicode的格式无法存入硬盘中,所以这里还有一种字节的数据类型(bytes)。而bytes的编码格式就是除Unicode以外的所有编码格式。

 可以将字符串类型转换成bytes数据类型。转换方法如下

a='sadsa'
a=a.encode('utf-8')
print(a,type(a))

    此代码中的字符串表现形式是16进制,汉字会有些不一样,是用16进制的数字来表示。

二 、字符串的其他方法和功能

  字符串在修改元素是会创建一个新的内存地址

# 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('l','q')) 

  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)

五、元组功能补充

 

  

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))

  

 

 

posted @ 2017-08-30 15:23  可造之猿  阅读(66)  评论(0)    收藏  举报