函数 function
定义代码目的:最大化代码重复&最小化代码冗余&过程分解
def 函数名():
形参
实参
从外往里传
从里往外传:返回一个值
函数变量的作用域local(区分global)
形参的生命周期在函数体内(本地)
x=55
def func():
x=99
print(x)
x=55
def func():
global x
x=99
print(x)
built-in(作用域比global还要高)
封装(函数套函数时用到)
def func():
x=100
def nested():
x=99
print(x)
print (x)
//nested没调用,所以没有print
def func():
x=100
def nested():
x=99
print(x)
nested()
print (x)
外层x成为封装--enclosure (local之上global之下)
用外侧封装的生命
def nested():
nonlocal x
定义新函数会覆盖原来的内置函数
参数:
def change_num(x)
x+=10
x=5
print('x={}'.format(x)) //5
change_number(x)
print('x={}'.format(x)) //5
整型这一数据类型不能改变
由于这一特性,在函数调用x时x传的值为副本,即x一直不改变
函数的传递时,不可变类型(int float tuple str)传递副本给函数,函数内操作不影响原始值
可变类型(列表,字典表),传递地址引用,函数内操作可能会影响原始值
change_list(l[:])
change_list(l.copy())