字符串类型:
整形 :int 浮点型:float 字符串:str 列表[]:list
布尔:bool 元组():tuple 字典{}:dict 集合{}:set
循环:
列如:for 临时变量 in range(起始值,结束值,步长)
range 循环次数
range函数 第一个参数代表起始值 如果不写默认从0开始
第二个参数代表结束值 但是不包含该数 含头不含尾
第三个参数代表步长 如果不写默认是1
break 跳过循环
continue 跳过本次循环
pass 空语句、占位
字符串方法:
find 函数:查找字符串中第一次出现该字符的下标,查找不存在的字符返回-1
index 函数:查找字符串中第一次出现该字符的下标,查找不存在的字符会报错
rfind 函数:查找字符串中最后一次出现该字符的下标,查找不存在的字符返回-1
rindex 函数:查找字符串中最后一次出现该字符的下标,查找不存在的字符会报错
upper 函数:将字符串所有字符转换成大写
lower 函数:将字符串所有字符转换成小写
title 函数:将每个单词首字母大写
isspace 函数:检测字符是否为空格
isupper 函数:检测字符是否是大写
islower 函数:检测字符是否是小写
startswith 函数:判断字符串以什么开头
endswith 函数:判断字符串以什么结尾
isalpha 函数:检测字符串中是否全部为字母
isalnum 函数:检测字符串是否是数字 或者 字母 或者数字和字母组成
isdigit 函数:检测字符串中字符是否全部为数字
strip 函数:去掉字符串最两端的字符,默认空格
rstrip 函数:去掉字符串最右侧的字符,默认空格
lstrip 函数:去掉字符串最左侧的字符,默认空格
replace 函数:替换
split 函数:以指定字符进行分割,分割之后存在列表里
count 函数:统计指定字符出现的次数‘
join 函数:连接 可以将指定列表按照指定字符连接成字符串
len 函数:检测字符串长度
列表:
增加:
append 在列表尾部进行添加
extend 在列表尾部将内容逐一添加到列表里
insert 在列表指定位置进行添加
删除:
pop 在列表进行删除
remove 根据元素的值进行删除
del 根据元素的下标进行删除
查找:
in 在什么什么里
not in 不在什么什么里
排序:
sort 由小到大 升序
sort(reverse=True) 由大到小 降序
reverse() 反序 逆序 倒序
字典:<class 'dict'> 由键值对组成 键:值
变量名 = {"键1":"值1","键2":"值2","键n":"值n"}
get: 不确定字典中是否存在某个键时 就可以使用get方法来获取 返回None 如果想要指定返回值 需要写第二个参数
字典的修改 需要通过键来修改所对应的值
列如:变量名[键] = '值'
当键存在时 字典的修改
当键不存在时 字典的增加
字典的查找 in not in 判断字典的键
列如:if "键" in 变量名”:
输出语句
else:
输出语句
删除:根据键进行删除 del
列:del 变量名[键]
清空:clear
列:变量名.clear()
len(): 在字典内是检测 键值对的个数
列:len(变量名)
keys(): 字典的键
列:变量名.keys()
values(): 字典的值
列:变量名.values()
items(): 字典的键值对
列:变量名.items()
可变类型:能进行增删改查的就是可变
列表 字典 集合
不可变类型:不能进行增删改查的就是可变
整数 浮点 字符串 元组
enumerate:带索引的遍历
start : 从下标几开始
列: for i,j in enumerate(变量名,start=1):
集合{}:<class 'set '> 没有顺序的列表
定义空集合:变量名 = set()
集合的特点:集合中的元素是唯一的 无序的 一般用于列表的去重
添加:
add() 添加元素
update() 将内容逐一添加到集合里
删除:
pop() 随机删除集合中的元素
remove() 根据元素的值进行删除 删除不存在元素时进行报错
discard() 根据元素的值进行删除 删除不存在元素时 不进行任何操作
集合的交集和并集
& 交集:二个集合都有的元素叫交集
列:print(集合1 & 集合2)
| 并集:二个集合合并到一起叫并集
列:print(集合1 | 集合2)
公共方法:
+: 合并 拼接
支持数据类型:字符串、列表、元组
*: 复制
支持数据类型:字符串、列表、元组
in:在......里
not in: 不在......里
支持数据类型:字符串、列表、元组、集合、字典(判断键存不存在)
内置函数:
len() 检测元素长度
支持数据类型:字符串、列表、字典(键值对的个数)、元组、集合
del 删除
max() 最大值
min() 最小值
sum() 求和
函数: 具有一定功能的代码块 可以重复利用
注意:
一个函数到底有没有返回值,就看有没有return,因为只有return才可以返回数据
函数名 和 变量名不能相同,否则会出现错误
形参和实参个数要一一对应 类型要一致
定义函数
列:def 函数名():
函数体
调用函数
列:函数名()
help: 查看函数文档说明
列:help(函数名)
局部变量:
在一个函数中定义的变量只能在本函数中使用(局部变量)
在函数内部定义的变量叫局部变量,只能在函数内部访问,不能在函数外部访问
全局变量:
在函数外定义的变量,可以在所有函数中使用(全局变量)
在函数外部定义的变量叫全局变量,在函数内部和外部都可以访问
当全局变量和局部变量名字相同时 不是修改全局变量 就是定义的局部变量
global: 在局部内修改全局变量
return: 函数的返回值 结束函数
当return同时返回多个数据时 存到元组里
拆包的数据类型:
元组、列表、字典
字典拆包需要注意 拆的是字典的键
说拆的数量与变量的数量一致否则报错
拆包列如:
列表:变量民,变量名1,变量名n = ["数据",'数据1','数据n']
字典:变量民,变量名1,变量名n = ['键':"数据",'键1':'数据1','键n':'数据n']
元组:变量民,变量名1,变量名n = ("数据",'数据1','数据n')
缺省参数
在定义函数时直接给形参赋值 age是缺省参数 缺省参数要位于咱们形参列表的后边
不定长参数 不确定所传参数长度
*args(变量名) 会存放所有未命名的参数 会将所有参数存放到元组里
**kwargs(变量名) 会存放所有命名的参数 存放到字典里
列如:def func(a,b,c,*args,**kwargs):
print(a)
print(b)
print(c)
print(args)
print(kwargs)
func(1,2,3,4,5,6,7,m=4,n=0,d=8)
文件
访问模式:
r: read以只读的方式打开文件 也是默认访问
w: wirte以写入的方式打开文件 如果文件存在相当于写入内容如果文件不存在则创建新文件
a: appendn打开一个文件用于追加。如果文件已存在。文件指针将会放在文件的结尾
也就是说,新的内容将会写入到已有内容之后如果文件不存在,创建新文件进行写入
open: 打开文件
列:变量名 = open("路径",'打开方式')
write: 写入内容
列:变量名.write(写入内容)
close: 关闭文件
列:变量名.close()
read(): 读取文件,不加参数读取全部
列:变量名 = 变量名.read(参数)
参数代表读取字符的个数
readlines(): 将内容全部读取出来 每一行作为一个元素 存放到列表里
readline(): 按行读取内容 每次读取一行的内容
文件夹:
import: 导入模块
os 模块
用os模块
列:模块名.方法
'os' 模块中的'rename()'可以完成对文件的重命名操作
'rename(需要修改的文件名,新的文件名)
remove(文件名): 删除文件
mkdir(文件夹名字): 创建文件夹
rmdir(文件夹名字): 删除文件夹
getcwd(): 获取当前目录
chdir('../'): 改变默认目录
listdir("./"): 获取目录列表
面向对象:只面对一个对象,事情全部由这个对象解决了
类: 抽象的事物
对象: 就是类的具体的一个事物,是类的一个实例(实际的例子)
类是由什么组成:
类名 类属性(与生俱来的特性) 类方法(后天养成的特性)
定义类和对象:
面向过程:整个事情的过程都参与了
继承:
单继承:一个子类继承一个父类 子类可以继承父类的属性和方法
多继承:
子类继承多个父类 如果父类有同名属性和方法时 默认继承第一个父类的内容
不同命的属性和方法 不受影响
子类调用父类同名属性和方法 在子类里重新定义方法:
super 可以调用父类的属性和方法 但是默认只执行第一个父类的
定义私有属性:
私有权限 在属性名和方法名前边加 _ _
私有属性 不能直接访问也不能被子类继承 但是可以在本类内部访问(定义一个公有方法来访问)
修改私有属性的值 在类的内部定义公有方法来修改
私有权限(私有属性、私有方法):在属性和方法前边加上两个下划线 _ _
类的私有属性 和 私有方法,都不能通过对象直接访问 但是可以在本类内部访问(定义一个公有方法来访问)
魔法方法 __开始__结束 不需要调用会自动执行的方法
__init__ 初始化属性和赋值 相当于对原材料进行加工
__mro__ 查看子类继承顺序
__new__ 相当于原材料购买环节
__ str__ 返回一个字符串 作为对象的描述信息
__del__ 对象全部都被删除时自动执行
面向对象编程 oop 三大特征:封装 、继承、多态
封装:将属性和方法放到一起作为一个整体
继承:子类可以继承父类的属性和方法
多态:一个类可以创建出多个对象 每个对象有不同的属性和方法
类属性:
类方法:
静态方法:
类方法、实例方法、静态方法
单例模式:
__ new__ 方法创建实例
异常概述:
捕获异常:
raise 自定义异常
模块:导包
time: 时间模块