一。变量作用域:
1.局部变量:定义于函数内部,生效在函数,外部不生效
作用:临时保存数据,当函数调用完毕后,则摧毁局部变量
2.全局变量:定义于函数体外面,在函数体外面和内部都生效的变量
作用:在全局皆可以使用的变量
如果要修改全局变量用global来声明a是一个全局变量
二。函数的返回值:
1.一个函数如果有多个return进行返回(不是并列的),仅返回第一个值,后面的内容全部作废
如果return后面添加多个数字,如下所示,返回值是一个元组(30,20),也可以是一个字典或者是一个列表,如:return [100,200],return {'name':'Tom'}
2.返回值可以作为参数进行传递
三。函数的参数:
1.位置参数:传递的实参必须和函数的形参一样,顺序也要一致(否则无意义)
2.关键字参数:通过"键=值"进行参数,不存在顺序的问题
3.缺省参数:也叫默认参数,用于定义函数时候,直接为参数提供默认值,在传递参数时候,如果和缺省参数不一致,则优先更改为传递的内容,没有则默认为设置的参数
4.不定长参数--位置参数:也叫可变参数,用于不确定会传入多少参数,参数设定为*args(args可以改为任意),在args收集到一定的变量,会根据传入参数的位置进行合并为一个元组,没有传入数据则返回一个()
5.包裹关键字传递:传进去的参数都会被kargs变量收集,从而构成一个字典进行展示,里面内容要以关键字的方式进行书写,没有参数返回一个{ }
四。拆包
1.元组拆包:在返回值有多个数据时候,如果不想以元组的形式展现,而是一个数字的形式进行展示,则用多个变量(a,b)来进行接受,从而进行拆包,打印顺序与return的顺序一致
2.字典拆包:在设置字典时候,有多少键值对则用多少个变量去进行接受值,打印变量是显示key值,如果要显示value值则要dict1[a]形式进行找value值
五。交换变量的方法
1.采用一个中间变量进行交换数据
2.采用自我交换的方法进行简便交换