一:pyhton数据类型
数字类型:整型(int)/ 浮点型(float)/ 布尔型(bool)/ 复数型(complex)
非数字类型:字符串(str)/ 列表(list)/ 元组(tuple) / 字典(dict)
不变类型:整型(int)/ 浮点型(float)/ 布尔型(bool)/ 复数型(complex)/ 字符串(str)/ 元组(tuple)
可变类型:列表(list)/ 字典(dict)
二:列表
序号 |
分类 |
方法 |
说明 |
实例 |
1 |
查询 |
list.index(obj) |
从列表中找出某个值第一个匹配项的索引位置 |
program_list.index(“java”)) |
2 |
增加 |
list.insert(index, obj) |
在列表中指定位置插入数据 |
program_list.insert(1, “kotlin”) |
3 |
增加 |
list.append(obj) |
在列表末尾追加数据 |
program_list.append(“C#”) |
4 |
增加 |
list.extend(list1) |
在列表1的数据追加到列表中 |
program_list.extend([“C#”, “kotlin”, “bash”]) |
5 |
增加 |
list.extend(list1) |
在列表1的数据追加到列表中 |
program_list.extend([“C#”, “kotlin”, “bash”]) |
6 |
修改 |
list[index] = obj |
修改指定索引的数据 |
program_list[2] = “Go” |
7 |
删除 |
list.clear() |
清空列表 |
program_list.clear() |
8 |
删除 |
list.remove(obj) |
删除第一个出现的指定数据 |
program_list.remove(“java”) |
9 |
删除 |
list.pop() |
删除末尾的数据 |
program_list.pop() |
10 |
删除 |
list.pop(index) |
删除指定索引的数据 |
program_list.pop(1) |
11 |
统计 |
len(list) |
计算列表长度 |
len(program_list) |
12 |
统计 |
list.count(obj) |
统计数据在列表中出现的次数 |
program_list.count(“java”) |
13 |
排序 |
list.sort() |
将列表升序排列 |
program_list.sort() |
14 |
排序 |
list.sort(reverse=True) |
将列表降序排列 |
program_list.sort(reverse = True) |
15 |
翻转 |
list.reverse() |
将列表翻转 |
program_list.reverse() |
三:元组
元组(tuple)与列表类似,区别是元组的数据不能修改,元组的符号是小括号(),元组主要用于函数的参数和返回值,格式化字符串,以及保护列表数据,由于元组的数据无法修改,因此提供的方法也比较少
序号 |
分类 |
方法 |
说明 |
实例 |
1 |
查询 |
tuple.index(obj) |
从元组中找出某个值第一个匹配项的索引位置 |
program_tuple.index(“java”) |
2 |
统计 |
len(tuple) |
计算元组长度 |
len(program_tuple) |
3 |
统计 |
tuple.count(obj) |
统计数据在列表中出现的次数 |
program_tuple.count(“python”) |
四:字典
字典(dict)通常用于描述一个物体的相关信息,使用键值对存储数据,键必须唯一,由于要使用hash算法,只有不可变类型才能用作键,字典的符号是大括号{}
序号 |
分类 |
方法 |
说明 |
实例 |
1 |
取值 |
dict[key] |
从字典中取出键对应的值 |
human_dic[“name”] |
2 |
取值 |
dict.get(key) |
从字典中取出键对应的值 |
human_dic.get(“name”) |
3 |
取值 |
dict.items() |
以列表返回可遍历的(键, 值) 元组数组 |
list(human_dic.items()) |
4 |
取值 |
dict.keys() |
以列表返回一个字典所有的键 |
list(human_dic.keys()) |
5 |
取值 |
dict.values() |
以列表返回字典中的所有值 |
list(human_dic.values()) |
6 |
增加/修改 |
dict[key] = value |
key存在则更新value,否则增加键值对 |
human_dic[“gender”] = “male” |
7 |
删除 |
dict.pop(key) |
pop函数返回key对应的value值,并删除键值对 |
human_dic.pop(“gender”) |
8 |
删除 |
dict.popitem() |
返回并删除字典中的最后一对键和值 |
human_dic.popitem() |
9 |
合并 |
dict.update(dic2) |
合并字典dic2中的数据,已存在的key跟新value的值 |
human_dic.update({“weight”: 64, “age”: 27}) |
10 |
复制 |
dict.copy() |
返回字典的浅复制 |
new_dic = human_dic.copy() |
11 |
清空 |
dict.clear() |
清空字典 |
human_dic.clear() |
五:字符串
1)对字符串进行判断
序号 |
方法 |
说明 |
1 |
str.isalnum() |
如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False |
2 |
str.isalpha() |
如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False |
3 |
str.isdecimal() |
如果 string 只包含数字则返回True,否则返回False |
4 |
str.istitle() |
如果 string 是标题化的(每个单词的首字母大写)则返回True |
5 |
str.isupper() |
如果 string 所有区分大小写的字符都是大写,则返回True |
6 |
str.islower() |
如果 string 所有区分大小写的字符都是小写,则返回True |
7 |
str.isspace() |
如果 string 中只包含空格,则返回 True,否则返回 False |
2)对字符串进行修改
序号 |
分类 |
方法 |
说明 |
1 |
格式化 |
str.format() |
格式化字符串 |
2 |
格式化 |
str.strip() |
去掉字符串左右两边的空白字符 |
3 |
格式化 |
str.lstrip() |
去掉字符串左边的空白字符 |
4 |
格式化 |
str.rstrip() |
去掉字符串右边的空白字符 |
5 |
文本对齐 |
str.ljust(width) |
返回一个原字符串左对齐,并使用空格填充宽度至长度width的新字符串 |
6 |
文本对齐 |
str.rjust(width) |
返回一个原字符串右对齐,并使用空格填充宽度至长度width的新字符串 |
7 |
文本对齐 |
str.center(width) |
返回一个原字符居中对齐,并使用空格填充宽度至长度width的新字符串 |
8 |
大小写 |
str.title() |
把字符串的每个单词首字母大写 |
9 |
大小写 |
str.lower() |
把字符串的所有大写字符转换成小写 |
10 |
大小写 |
str.upper() |
把字符串的所有小写字符转换成大写 |
11 |
大小写 |
str.swapcase() |
翻转字符串的大小写 |
3)字符串的查找和替换
序号 |
方法 |
说明 |
1 |
str.count(str1, beg=0, end=len(string)) |
返回 str1 在字符串中出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 |
2 |
str.startswith(obj, beg=0,end=len(string)) |
检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查. |
3 |
str.endswith(obj, beg=0, end=len(string)) |
检查字符串是否以 obj 结束,是则返回 True,否则返回 False。如果beg 或者 end 指定值,则在指定范围内检查 |
4 |
str.find(str1, beg=0, end=len(string)) |
检测 str1是否包含在字符串中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内。如果是则返回开始的索引值,否则返回-1 |
5 |
str.rfind(str1, beg=0,end=len(string) ) |
类似于find函数,不过是从右边开始查找 |
6 |
str.index(str1, beg=0, end=len(string)) |
跟find()方法一样,只不过如果str1不在 字符串中会报一个异常. |
7 |
str.rindex(str1, beg=0, end=len(string)) |
类似于index函数,不过是从右边开始 |
8 |
str.replace(str1, str2, num=string.count(str1)) |
把 字符串中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次. |
4)字符串的拆分和连接
序号 |
方法 |
说明 |
1 |
str.split(str1="", num=str.count(str1)) |
以 str1 为分隔符切片字符串,如果 num 有指定值,则仅分隔 num+1 个子字符串 |
2 |
str.splitlines([keepends]) |
按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。 |
3 |
str.join(seq) |
以 字符串作为分隔符,将 列表seq 中所有的元素(用字符串表示)合并为一个新的字符串 |
5)公共方法
内置函数
对于列表,元组,字典,字符串,python也提供了一些公共方法
函数 |
描述 |
说明 |
len(item) |
计算元素的总个数 |
|
del(item) |
删除变量 |
可以删除整个变量,加上索引可以只删除指定的元素 |
max(item) |
返回元素的最大值 |
字典只针对key比较 |
min(item) |
返回元素的最小值 |
字典只针对key比较 |
六:切片
切片使用索引值可以方便地截取容器中一定范围的数据,适用于列表,元组,字符串。
切片语法如下:
item[N:M:S]
其中N表示要截取的开始位置,M表示结束位置,S表示step也就是步长,默认是1,截取的时候[N:M]是个半闭合区间,等效于数学上[N,M)取值范围,取N不取M, N和M都可以省略。python中,-1可以表示最后一个元素,字符串利用切片完成翻转的代码如下
七:函数
1)形参与实参
形参:定义函数的时候,括号里面的参数形参必须是变量
实参:调用函数的时候,括号里面的参数实参可以是常量
实参可以是变量实参可以是表达式
定义函数的时候,形参没有值,只是一个变量名
只要调用函数的时候,通过实参把值实时赋值给形参
2)函数的嵌套
3)global关键字
当需要在函数内部修改全局变量的值,修改前需要用global修饰全局变量的名字
八:面向对象
1.类
类的三个要素
类名
属性
类中的变量---属性
方法
类中的函数---方法
2.对象
类中的方法不能直接调用,把类实例化为对象后,通过对象调用方法
实例 通过类创建的对象, 叫类的实例
实例化 创建对象的动作, 叫实例化
class cat: # 定义了一个类cat,这个类不能直接使用
def eat(self): # 第一个参数必须是self
print("猫吃饭")
def drink(self):
print("猫喝水")
c1 = cat() # 根据类cat, 创建了一个对象c1, 对象名类似于变量名
c1.eat() # 调用的时候,不需要提供self对应的实参
c1.drink() # 调用对象的方法
# 方法只能通过对象调用,不能通过类直接调用
# c1就是类cat的实例
# c1 = cat() 这个动作就叫实例化
c2 = cat() # 实例化, 实例化的结果是cat类有一个对象叫c2 # c2是类cat的实例
3.self函数
self可以在方法内部定义和使用属性
self可以在方法内部嵌套调用,其他方法在类的外部是不能使用self的
在类的外部调用方法 对象名.方法名
在类的外部使用属性 对象名.属性名
![](/i/l/?n=23&i=blog/2838695/202303/2838695-20230301173338351-1950731190.png)
4.init方法
__init__ 注意名字,前面两个下划线,后面两个下划线,当创建对象的时候,也就是实例化对象的时候,init自动调用
init方法的作用
定义类中的属性
同时通过init方法的参数为属性赋值
init方法一旦有形参,对象实例化的时候就必须提供实参
为了避免实例化的时候必须提供实参,init的形参总是有缺省值
5.del方法
当对象在内存中销毁的时候,自动调用del方法
del方法只有一个参数self
如果对象是局部的,那么函数执行完毕,自动调用对象的del方法
如果对象是全局的,那么程序执行完毕,自动调用对象的del方法
6.封装
就是把类的属性和方法封装到类的内部,只能在内部使用,不能在类的外部使用
把属性和方法名前面加两个下划线 ,这个属性和方法就成为了类的私有属性和方法
7.继承
类A继承自类B,类A会拥有类B的所有属性和方法
class A:
pass
class B(A): # B继承自类A
pass
一个父类可以有多个子类继承,每个子类可以有自己特有的方法和属性
多级继承:类C继承自类B,类B继承自类A;类C就拥有了类B和类A的所有属性和方法
方法重写
父类的方法不能满足子类的需求方法重写有两种方式
覆盖父类方法 扩展父类方法
1)覆盖父类方法 :子类中出现和父类相同的方法,那么在子类中相同方法会把父类的方法覆盖
2)扩展父类方法:如果父类的方法不能完全满足子类需求, 子类可以在父类方法基础上增加功能
说明:父类中所有的私有方法和私有属性归父类特有,子类不能继承
8.多态
不同的子类,调用相同的父类方法,产生不同的结果
多态的前提,不同的子类来自相同的一个父类,子类会覆盖父类的方法
标签:python,list,基础知识,字符串,program,str,整理,列表,方法 From: https://www.cnblogs.com/winnie-B612/p/17169216.html