P## 函数的定义
编程里面的函数定义是:def作为关键字
def test(x) :
"The function definitions"
x+=1
return x
def:定义函数的关金子
test:函数名
():内可定义的形参
"文档描述(非必要,但是强烈建议为你的函数添加描述信息)"
x+=1:泛指代码块或程序处理逻辑
return:定义返回值
方法的参数如果有一定要传参数.
代码示例:
def test(x):
x += 1
return x
y = test(3)
print(y)
如果一个方法的返回值类型太多,我们在使用变量接收这个返回值的时候,这个变量会变成一个元组.
总结:如果返回值等于0,返回None
返回值数=1,返回object(对象)
返回值数>1,返回tuple(元组)
函数参数
1.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元.因此,形参只在函数内部有效.函数调用结束返回主调用函数后不能再使用该形参变量
2.实参可以是常量\变量\表达式\函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传给形参.因此,应预先用赋值,输入等办法使参数获得确定值.
def test(x,y):#形参
z = x ** y
return z
a = 10
b = 10
c = test(a,b)#实参
print(c)
位置参数必须一一对应
def test(x, y, z):
print(x)
print(y)
print(z)
test(1, 2, 3)
关键字参数,无须一一对应
def test(x, y, z):
print(x)
print(y)
print(z)
test(y=3,z=1,x=5)
如果混合使用,位置参数一定要在关键字参数左边,但是还是必须一一对应,不然会报错
test(1,2,z=5)
默认参数,在定义函数时就被赋予了值就是默认参数,但是也可以在调用方法的时候传一个值去覆盖它
def test(x,y=None):
print(x)
print(y)
test(1)
test(2,3)
参数组,**字典, *列表
1赋值给了x,后面数自动添加到列表里面
def test(x,*args):
print(x)
print(args)
test(1,2,3,4,5,6,7)
字典的方式
def test(x,**args):
print(x)
print(args)
test(1,y=3,z=4)
如果想列表和字典一起用,列表的参数必须在字典参数前面
def test(x,*args,**kwargs):
print(x)
print(args)
test(1,1,1,y=3,z=4)
总结(使用函数的好处)
1.代码重用
2.保持一致性,易维护
3.可扩展性