8月23日学习内容整理:数字,字符串,列表,元组类功能

补充:

for也可以跟else组合,else代表for循环结束(可迭代对象被循环完毕)以后执行else的代码

1、数据类型

硬盘里没有unicode编码,本质上内存里都是011010110的数据,具体是什么样的011010101010由编码来定,不同编码的101001010之间互不认识

PY3里默认的是utf8编码,特殊的地方在于字符串在内存中存储是以unicode编码存在。

字节类型:bytes  一般用于网络传输和硬盘存储  在内存中以某一种编码存在(utf8、gbk),不能是unicode

(1)a=b'alex'

(2)a=b\x12\x23\x23\df\x45

第一种是没有中文的表达式,第二种是有中文的表达式,\x12代表一个字节,1表示前四位,2表示后四位

字节可以使用目前所学的字符串功能

2、数字类功能

(1)to_bytes(6,'big/little')      转化为字节类型,6表示变为6个字节,也就是字节数,big和little分别表示指定生成字节顺序,big表示从后面开始,little表示从前面开始

(2)from_bytes(result,'big/little')   把字节转化为数字,result表示被转换的字节,注意若和to_bytes一起用,则big 或者little要保持一致

3、字符串功能

(1)encode('utf-8/gbk/....')   将字符串转化为字节(相应的代码)如果括号什么都不写,则默认为utf-8

(2)casefold()可以将所有语言的字母都变为小写,而lower只适用于英文

(3)center(20,‘a’)   20代表总长度,a代表剩余部分用a填充,字符串在中间位置

(4)ljust(20,'a')20代表总长度,a代表剩余部分用a填充,字符串在最左边

   rjust(20,'a')字符串在最右边    

(5)count('a')表示a出现的次数

   count(‘a’,0,4)表示索引在 >=0  <4的范围内出现的次数

补充:\n代表换行符     \t代表制表符,相当于tab键缩进

(6)espandtabs(20)   20代表字符与\t总共长度为20,例如:a='name\t'   name\t占20   可以用来制表

(7)find('a')  第一个a出现位置的索引,若没有a则返回值-1,不会报错

   index('a')     也是寻找索引,但是没有a会报错 默认第一个a的索引

(8)format()   字符串格式化的第二种形式

name='我叫{0},年龄{1}'

a)format(‘alex’,'43')   alex就代表{0},43就代表{1}    元素必须是字符串类型 

b)format(*[‘alex’,'43'])   列表形式,前面必须要有*             元素必须是字符串类型

name=‘我叫{name},年龄{age}’

c)format(name=‘alex’,age=43)直接赋值的方式            记住name和age不用加引号

d) dic={‘name’=‘alex’,'age'=43}

  format(**dic)            字典形式,但必须有两个**

(9)format_map()    必须是字典形式,但是不用加两个**

(10)isalnum()    判断是否只包含数字、字母、中文      输出布尔值        

      isalpha()      判断是否只包含字母,中文         输出布尔值

(11)判断是否只包含数字

    isdecimal()   只识别1,2,3,......

    isdigit()只识别 1,2,3,.....或  ‘’②‘’一类

    isnumeric()只识别1,2,3,...或  ‘’②‘’一类  或   ‘’二十‘’一类

(12)islower()   判断是否全部为小写

(13)isprintable()   判断是否有打印不出来的内容,,例如:\n  \t       能打印出来是True   不能打印出来是False

(14)isspace()     判断是否全部是空格

(15)istitle()   是否为标题    所有字母单词首字母大写

   title()    变为标题

(16)isupper()   是否全部为大写

(17)partition(‘a’)     以第一个a分割并且包含a      输出元组类型

     rpartition('a')      以右边的第一个a分割并且包含a

     rsplit('a',2)       以最右边的2个a分割

(18)splitlines()    根据换行符分割   

(19)swapcase()   把大写变小写,把小写变大写

(20)

maketrans('alex','1234')    创建对用关系,a变为1,b变为2,c变为3,d变为4

translate()      跟maketrans一起使用,括号里放maketrans的结果

举例:

table=str.maketrans('adgjl','12345')
a='asdfghjkl'
a=a.translate(table)
print(a)

 三、列表类功能:

1、改变原来值,但是一般不会给=前面变量赋值,字符串是不一样的,因为字符串本身不会改变,内存地址不会改变。

   当两个列表同时指向同一地址,当其中一个列表发生变化时,另一个也随之发生变化。

例如:a=li.append(44),列表li追加44,但是a返回None

      l1=[11,22,33]

   l2=l1        l2会随l1变化而变化

2、clear()   清空

3、

copy()   浅拷贝,可以赋值给新变量

import  copy

copy.deepcopy()  括号里填写被拷贝的变量  深拷贝

当元素只是字符串和数字时,浅拷贝和深拷贝是没有区别的

当列表里有嵌套时,浅拷贝和深拷贝是不一样的:

浅拷贝:只拷贝最外面一层内存地址(内存地址)

 

深拷贝:除了最后一层(内存地址),其余全部拷贝

 

 

4、count()     某一个值出现的次数

5、extend(可迭代对象)   循环可迭代对象中的每个元素追加到列表中

6、index('xxx',范围)     xxx的索引,在范围里查找,也可以不写范围,默认第一个a的索引,如果在范围里同样出现了多次还是默认第一个的索引

7、pop(3)      前面可以赋值给新的变量(被删除的元素);把指定索引3位置的元素删掉,并且输出被删除的元素;不写索引的话默认是最后一个

8、remove('xxxx')       将元素xxxx删掉,默认第一个,无法指定范围和个数

9、sort(reverse=False)     按照从小到大的顺序排序

      sort(reverse=True)   按照从大到小的顺序排序

 

四、元组功能

1、count()   某一个值出现的次数

2、index()     找索引

 

posted @ 2017-08-23 16:49  九二零  阅读(126)  评论(0编辑  收藏  举报