集合、函数、递归
回顾数据类型:
一、数字:int()可以转换成数字
二、字符串:replace/find/join/strip/stratswith/split/upper/lower/format
三、列表:append/extend/insert、索引、循环、切片
四、元组:索引、循环、切片 (元素不能被修改、删除、增加)
五、字典:get/update/keys/values/items for循环、索引,但不能切片,可以用in
六、布尔值:bool()可以转换成布尔值,只有两个值True1和False2,只有真假,只要记住几个假的东西:None、空字符串(“”)空元组、空列表、空字典===》False
变量回顾:
name = “alex”:变量名=变量值
变量的作用:记录状态的变化。程序的本质就是解决处理状态的改变
变量值:(字符串、数字、列表、元组、字典)存放不同状态
数据基本类型:可变==》列表、字典(key可变,value不可变)
不可变==》字符串、数字、元组、
(有序)可按照顺序访问:字符串、列表、元组
映射:字典(所占内存空间大)
直接访问:数字
存放元组个数:容器类型(可存放多种类型):列表,元组,字典
原子:数字,字符串
集合:有不同元素组成的集合,集合中是一组无序排列的hash值,可以作为字典的key,集合的目的是将不同的值存放到一起,不同结合间用来做关系运算,无需纠结于集合中单个值
条件:不同元素组成,无序,集合中元素必须是不可变类型
集合可以简单的去重,但结果无序,
集合是可变类型,可增加删除,frozenset不可变集合
字符串格式化:数据类型是字符串%s可接受一切%:标识,固定格式
S:字符串类型
%d只能接受数字
%f 打印浮点数(%.2f小数点保留两位)
%% 打印百分数
sep":"中间有分隔符:
format字符串格式化:一一对应
函数:
def:定义函数的关键字,test函数名,()内可定义形参,x参数
“”文档描述()红色的函数注释,注释是为了解释函数式干啥用的,(写函数的目的是为了完成某个特定的功能)
代码块:X+=1模拟完成特定的事,
Return:返回一个结果(没有也行)
只有变量能接收一个具体的值,一定要有变量接函数的结果
函数名加小括号就代表运行
可以带参数也可以不带参数:有时函数在定义的时候未给出去参数
函数和过程;
过程:就是简单特殊没有返回值的函数,本质也是函数,但函数需要有返回值
Python中过程也是函数,即使没有返回值,在python中也会返回none
函数的参数:形参和实参
位置参数和关键字
若混合使用位置参数和关键字:位置参数必须在关键字参数左边
参数组:非固定的函数,可变参数,args按元组存储
*args**kwargs
*args固定在**kwargs前面
Args可以取自己想要的值
全局变量,变量名用大写,局部变量,变量名用小写:
全局变量:顶头写的,没有任何缩进
特点:在任何位置都可以调用
如果函数中无global关键字,
若有声明局部变量,优先读取局部变量,若无局部变量,能读取全局变量,无法对全局变量进行重新赋值,但是对于可变类型,可以对内部元素进行操作比如.append()
如果函数中有global关键字,本质上就是全局变量,可读取可赋值
nonlocal指定上一级变量
递归:好比问路,在python中,定义一个函数,自己调用自己