一、集合
集合天生去重,怎么区别集合和字典呢,很简单,大括号内有冒号就是字典,没有冒号就是集合,集合和字典一样是无序,不能使用下标取值。
使用set定义集合
集合的增,删操作的方法
集合的交集,并集,差集
三、初识函数
函数的定义使用def关键字,函数名,函数名后要有小括号,小括号后面要有冒号,缩进部分均属于函数体,常说的方法和功能其实本质就是函数
其作用就是为了提高代码的复用性,且不调用时不会被执行
四、函数的参数
函数调用的时候可以传入参数,形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内
部有效。而实参,是在函数被调用时,给形参传入的实际值。函数的参数到底有多少个,理论上是你想要多少个都可以,但是函数的参数太对,出
错的几率会很大,一般来说3-4个参数已经算多了
五、函数的形参类型
位置参数:
按照参数的位置来进行传参,位置参数是必填的,如果多个位置参数,记不住位置怎么办,可以使用位置参数名字来指定调用,比如函数定义
def name(user,passwd),那么实参传递可写成(user='luoxj',passwd=‘123456’)
默认值参数:
默认值参数不是必填的,如果不填的话,就用函数定义时,默认传递的值,如果实参里给该参数传递了值就用实参里面传递的值,比如下面的例子
con参数值是aaaa,如果user = hello('hehe.txt')只有一个实参,那么con参数的值使用默认参数值空值,且默认值参数,必须放在位置参数之后
非固定参数:
参数个数非固定,非固定参数有两种,一种可变参数,一种是关键字参数
可变参数:
可变参数用*来接收,后面参数想传多少传多少,如果位置参数,默认值参数,可变参数一起使用,如果要使用默认值,默认值参数必须在位置参数
和可变参数之后,如果默认参数放在可变参数前,不管传不传值,默认会取可变参数第一个
关键值参数:
关键值参数用**来接收,后面参数相传多少传多少,如果和位置参数,默认值参数,关键值参数必须放在最后,否则会报错
如果定义一个函数,不传参数,直接调用可以使用以下方式,这种方式仅限于不传参数值,调用函数使用
六、函数的返回值
如果没有再函数里面指定返回值得话,默认返回none对象,函数也可以有多个返回值,如果是多个返回值得话,会把返回值都放到一个元组中,返
回一个元组,返回值使用return,return 立即结束函数。为什么要有返回值,为了后面的程序使用,如果需要多个返回值,可以return多个返回值。
也可以返回一个函数
七、函数推导式
八、全局变量(local variable)和局部变量(global variable)
局部变量,只在作用域内生效,除了作用域就没有这个值了,原理:python在调用函数的时候,利用的是栈存储,把这个函数所用的代码及变量
都放到栈里面,执行完该函数的时候,栈数据会自动清空,所以函数外是无法访问到局部变量的,而全局变量是在整个代码中都可以被访问到的。
在函数内部不要去修改全局变量的值,如果修改了全局变量的值,其实是Python会创建一个和全局变量名字一模一样的局部变量进行代替,这两
个变量存储空间不同,所以相互之间没有影响。如果函数中药修改全局变量的值,需要加上globle关键字声明,如果是列表,字典或者集合,则不
需要用global关键字,直接修改即可
使用一个小程序,来理解下全局变量和局部变量,print的值为多少呢~~~500
注意:写代码的时候少用全局变量。一方面是如果申请全局变量,很容易被其他人修改全局变量名称,导致运行报错,另一方面是占内存,影响程
序性能介绍两种不引入第三个变量,变量值交换的两种方法
九、递归
递归其实就是自己调用自己,用递归能实现的用循环都能实现,最好别用递归,且最多能递归999次。
十、比较常用的内置函数