定义一个函数使用关键词def
def test():
print("这是一个函数")
def test():
print("这是一个有返回值的函数")
return 100
def test(a):
print("这是一个带参数的方法")
def test(a):
print("这是一个带参数和返回值的方法")
return 100
如果定义了一个全局变量wendu,并且在函数中定义了一个同名的全局变量。想要在函数中使用全局变量的话在相同的名字话那么就在变量前面加上global.
global wendu.编码建议是加上。
函数有多个返回值得时候,需要看接收他们的返回值的类型才能知道返回的类型。
缺省参数:
是指默认参数
def test(a, b=22):
test(11)可以
test(11, 33)如果给第二个数赋值的话,那么b的值就是33了。缺省参数只能定义在最后面。
def test2(a, b=22, c=33):,b=22是缺省参数
test2(11, c=33)你想给谁传那么你就给谁值。c=33是命名参数。
有多个参数
def test3(a, b, *args,**kwargs)后面的args是一个元祖,在后面是一个字典
a = (33,44)
b = {"a": lang}
如果你想给args传递一个元祖,test3(11,22, *a, **b)。一个*是给元组拆包,另外一个是给字典拆包。
匿名函数:
在pyton2中input输入的就是一个函数,在python3中input输入的是当做一个字符串处理的 需要使用eval转换一下。
知识补充:
a = 100
def test(num):#num指向100是不可变的值
num += num #在这里等号左边的num是重新生成的局部变量num.等价于num = num + num
print(num)# 200
test(a)
print(a)#100
如果a 是可变类型列表
a = [100]#a是可变类型。
def test(num):
num += num#对于可变类型。左边的num并不是重新生成的局部变量。不等价于num = num + num
print(num)[100, 100]
test(a)
print(a)[100, 100]