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() 找索引
转载于:https://www.cnblogs.com/wanghl1011/articles/7418984.html