数字类型的内置方法 数字类型的内置方法 字符串类型的内置方法 2.需要掌握 列表类型的内置方法 元组类型的内置方法 字典类型的内置方法 集合的内置方法 python深浅拷贝
目录
1.整型
int():将纯数字的字符串转为十进制的整型
2.浮点型
float():将纯数字的字符串转为十进制的整型
字符串类型的内置方法
1.优先掌握
- 按索引取值 在字符串中每个字符都是有序的,可以根据索引取值。
- 切片 顾头不顾尾,步长。
- 长度len len() 可以测量字符串的长度。
- 成员运算in|not in 就如因为意思一样在里面或者不在里面
- 移除空白strip strip()括号里面什么都不加,就是移除左右两边的空格,如果要加,就要从外向里面慢慢加,倘若外面的不在,就算有里面的字符,也是删除不了里面的字符的。
- 切分split split() 括号里面写的是以什么切分就以什么切分。
- 循环 就是可以使用for循环遍历字符串的每个元素
2.需要掌握
-
lstrip&rstrip 同上面的优先掌握一样,不过就是有了左右,不再是两边同时。
-
lower&upper 一个是所有字母小写,一个是所有字母大写。
-
startswith&endswith 判断是以什么开头和判读是以什么结尾
-
rsplit 从右往左切分,split()是从左往右切分
-
join 以什么链接字符串
lis = [1,2,'19'] print(f"':'.join(lis): {':'.join(lis)}") # 报错,数字不可和字符串拼接
-
replace 将字符串里面的同一种元素替换成另一种
-
isdigit 判断是否全是数字整型True,浮点型False
3.其他的用到 一个记一个
-
find|rfind|index|rindex|count
-
center|ljust|rjust|zfill
-
expandtabs
-
captalize|swapcase|title
-
is系列
- isdecimal(): 检查字符串是否值包含十进制字符,如果是返回True,否则返回False。
- isdigit(): 如果字符串只包含数字则返回True,否则返回False。
- isnumeric(): 如果字符串中只包含数字字符,则返回True,否则返回False。
- isalnum(): 如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。
- isalpha(): 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。
- islower(): 如果字符串中只包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False。
- isspace(): 如果字符串中只包含空白,则返回True,否则返回False
- isupper(): 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True,否则返回False。
- istitle(): 如果字符串是标题类型的(见title()),则返回True,否则返回False
列表类型的内置方法
1.优先掌握
- 按索引取值(正向取值+反向取值),即可存也可以取
- 切片
- 长度len
- 成员运算in和not in
- 追加append 向列表末尾追加一个元素
- 删除del del 可以删除整个列表,也可以根据索引删除单个元素
- 循环
2.需要掌握
- insert insert(插入元素索引之前,元素)插入一个元素,必须指定插入到元素前的元素的索引。
- pop 默认删除最后一个元素,可以删除指定索引的元素。
- remove 也是删除,可以删除指定元素(不通过索引删除)
- count 返回列表里面有多少个元素
- index 返回元素的索引
- clear 清楚列表里面的内容
- copy 复制一个相同内容的列表
- extend 把一个列表添加到另一个列表中
- reverse 倒着排列表
- sort 按照由低到高排序
元组类型的内置方法
和列表一摸一样,区别在于元组是不可更改的,一般都是用列表,内置方法和列表也一样的。
定义 tuple()
字典类型的内置方法
1.优先掌握
- 按key存取值:可存可取 (不同于列表字符串,他是按照key取值的)
- 长度len
- 成员运算in和not in
- 删除del
- 键keys()、值values()、键值对items()
- 循环
2.需要掌握
- get 如果字典里面有这个key,则会输出value,如果没有就可以自己在get的括号后面赋值自己想要输出的值,没有的话输出的是空值
- update 就是如果字典里面没有这个键值对,则会添加,有的话就会更新这个键值对的value值
- fromkeys 这个方法特殊,只能通过dict点出来,就是给一个列表赋同样的值,并且变成键值对的列表。
- setdefault 这个可以和update形成对比,如果字典里面有这个key,则字典里面的value会不变,没有则会添加。
集合的内置方法
集合和列表都是采用大括号,所以为了不重复,集合采用set()的方式定义。
并且集合中的会去重以及集合中的元素是无序的
1.优先掌握(和上面的差不多)
- 长度len
- 成员运算in和not in
- |并集、union
- &交集、intersection
- -差集、difference
- ^对称差集、symmetric_difference
- ==
- 父集:>、>= 、issuperset
- 子集:<、<= 、issubset
2. 需要掌握
- add 添加一个元素
- remove 根据元素删除,如果没有这个元素会报错
- **difference_update ** 就是差集
- discard 根据元素删除,如果没有这个元素也不会报错
- isdisjoint (我理解的就是互补,就是两个都没啥关系的就是True)
python深浅拷贝
1.拷贝
如果l2是l1的拷贝对象,则l1内部的任何数据类型的元素变化,则l2内部的元素也会跟着改变,因为可变类型值变id不变。
l1 = ['a', 'b', 'c', ['d', 'e', 'f']]
l2 = l1
l1.append('g')
print(l1)
['a', 'b', 'c', ['d', 'e', 'f'], 'g']
print(l2)
['a', 'b', 'c', ['d', 'e', 'f'], 'g']
2.浅拷贝
如果l2是l1的浅拷贝对象,则l1内的不可变元素发生了改变,l2不变;如果l1内的可变元素发生了改变,则l2会跟着改变。
import copy
l1 = ['a', 'b', 'c', ['d', 'e', 'f']]
l2 = copy.copy(l1)
l1.append('g')
print(l1)
['a', 'b', 'c', ['d', 'e', 'f'], 'g']
print(l2)
['a', 'b', 'c', ['d', 'e', 'f']]
l1[3].append('g')
print(l1)
['a', 'b', 'c', ['d', 'e', 'f', 'g'], 'g']
print(l2)
['a', 'b', 'c', ['d', 'e', 'f', 'g']]
3.深拷贝
如果l2是l1的深拷贝对象,则l1内的不可变元素发生了改变,l2不变;如果l1内的可变元素发生了改变,l2也不会变,即l2永远不会因为l1的变化而变化。
import copy
l1 = ['a', 'b', 'c', ['d', 'e', 'f']]
l2 = copy.deepcopy(l1)
l1.append('g')
print(l1)
['a', 'b', 'c', ['d', 'e', 'f'], 'g']
print(l2)
['a', 'b', 'c', ['d', 'e', 'f']]
l1[3].append('g')
print(l1)
['a', 'b', 'c', ['d', 'e', 'f', 'g'], 'g']
print(l2)
['a', 'b', 'c', ['d', 'e', 'f']]