一、默认参数的陷阱
如果在行参中设置一个默认参数为一个空列表那么多次执行函数往里传值,下面的函数会共用这个列表。
def func(k,l = {}): l[k] = ‘v‘ print(l) func(1) func(2) func(3)
结果:
{1: ‘v‘}
{1: ‘v‘, 2: ‘v‘}
{1: ‘v‘, 2: ‘v‘, 3: ‘v‘}
二、三元运算(三目运算)
三个条件:
必须要有结果。
必须要有if和else
只可能是简单的情况
x = 4 y =2 a = x if x > y else y print(a)
三、 三种命名空间
内置命名空间 -- python解释器
全局命名空间 -- 写的函数,但不是函数中的代码
局部命名空间 -- 函数