变量的作用域:
全局变量 ----- 可以在函数内部被引用
局部变量 ----- 函数内部 -- 只能在函数里面使用,在函数外部不能使用
在函数内部修改全局变量:global x
缺省参数:
1 - 在函数定义的时候,给了初始值 def func(a,b,c=0)
2 - c这个参数,在函数调用的时候可以不传值,就是默认值。如果传,那就是传的值
3 - 定义参数的时候,参数不能放在必填参数前面
4 - 缺省参数使用非常广泛,内置的库和第三方库里面大量的使用缺省参数
可变数量参数:(必填,可缺省,可变数) ------ 写法正确 ------- print
1 - 数量可变!可以N个,也可以0个
2 - def calc(*numbers):
3 - type(numbers)
4 - 如果传值的是元组/列表 --- 用*展开
5 - 是个元组
6 - 建议定义顺序:必填,可缺省,可变数量
关键字参数: ---- dict
1 - 关键字
2 - 可变数量
3 - **d
4 - 是个字典类型
5 - 传值:键值对
6 - 传入字典: **字典 ----- 展开 {1:100, 2::200} 1=100 2=200
7 - **展开的话,key --- 一定是string ------ TypeError:func() keywords must be strings
缺省参数、可变数量参数、关键字参数混合使用!
总结:
1 - 必填 一定要在可缺省前面:SyntaxError:non-default argument follows default argument
2 - 当def getSum(a, *inList, b=100, **c)我们需要将一个字典进行传入,那么这个字典的keys一定是str,否则TypeError:getSum() keywords must br strings