值传递和引用传递
def test02(nums):
nums.append(10)
nums.append(100)
list = [1,2,3]
test02(list)
print(list)
# 值传递:在传递参数时,仅仅 是把值拷贝一份传递给参数的函数,变量的值不发生改变
def test02(nums):
nums.append(10)
nums.append(100)
list = [1,2,3]
test02(list)
print(list)
#引用传递:在传递参数的时候,传递值,函数形参获取的值
偏函数
def int2(x,base=2):
return int(x,base)
a = int2("10010")
print(a)
#偏函数:
import functools
int2 = functools.partial(int,base=2)
print(int2("10010"))
#在调用某个函数的时候,如果需要固定某个参数,就可以用偏函数
函数变量的作用域
a = 100
def test_01():
a = 0
b = 110
print(a)
print(b)
test_01()
print(a)
print(b)
def tese_02():
print(a)
#局部变量的作用域旨在函数内部
tese_02()
#函数内部可以使用全局变量,不可以修改全局变量,如果要修改,使用globle关键字
函数的嵌套
def fun1():
b = 20
def fun2():
print(b)
print("2222222")
return fun2
a = fun1()
a()
匿名函数
# let a = function(){}
#python中,如果要将函数参数传到另一个函数里边去
#python中函数的数据类型:只要是对象就可以
#python 本身就是一个对象
#def compute(a,b):
# return a+b
def test01(fn):
a = fn(1,2)
print(a)
#test01(compute)
test01(lambda a,b: a+b)
#python 存在函数作为参数传递给函数,并且 不想被外界访问,而且参数足够简单,即可以用匿名函数
装饰器