# 如果默认参数的值是一个可变参数类型,那么每次调用这个
# 函数的时候,如果不传值就公用这个数据类型资源
def qqxing(l = []):
l.append(1)
print(l)
qqxing()
qqxing()
#函数进阶
#对于不可变数据类型,在局部是可查看全局作用域中得变量
#但是不能直接修改,想修改,需添加global。尽力少用
a =1
def func():
global a
a +=1
print(a)
#函数嵌套调用
#俩者取最大值
def max (a,b):
return a if a > b else b
#三者取最大值
def the_max(x,y,z):
c = max(x,y)
print(max(c,z))
the_max(1,2,3)
#函数的嵌套定义
def outer():
def inner():
print('inner')
inner()
outer()
#闭包:肯定是嵌套函数,且内部函数调用外部函数的变量。
def ourtt():
a =1
def inner():
print(a)
print(inner.__closure__)#输出有cell则是闭包