python3中的缺省参数和global
关于py中缺省参数:
在声明函数的时候对某些参数(一个或多个)进行赋值,在你调用的时候无需在实参列表中体现该参数,但是在执行的时候会默认加上这个已经在形参中定义好的参数。 但是,缺省参数必须放在最后,缺省参数的值必须是常量。
举个例子:
def sum(a,b):
print("%d+%d=%d"%(a,b,a+b))
sum(11,22)
sum(13,22)
sum(15,22)
像这样的情况我们可以使用缺省函数,代码如下:
def sum(a,b=22):
print("%d+%d=%d"%(a,b,a+b))
sum(11)
sum(13)
sum(15)
这两种代码的执行结果是一样的。
但是缺省 参数还有如下用法:
比如说日常我们去银行会用银行的笔签名,但是如果我们自己身上带的有符合使用要求的笔,我们就可以使用自己的笔去签字,也就是说;我们去银行一般不会自己带笔,默认会使用银行的笔签字,但如果我们带的有 ,也可以使用自己的笔签字。
举个例子:
def sum(a,b=22):
print("%d+%d=%d"%(a,b,a+b))
sum(11,33)
sum(13,44)
sum(15,66)
输出结果如下:
这个和我们去银行签字使用自己的笔是一个道理,在py中可以解释为:即使函数定义了常量参数,但是实参中有自己的值,在执行中还是要使用实参的值而不是形参。
关于实参和形参:实参就是你调用函数时候的参数,而形参是你声明函数时候的参数。
关于global的一点补充:
如果你在函数内对全局变量进行了更改,列表和字典不用加关键字global就能实现函数内对全局的字典或者列表的更改。而列表和字典加上关键字不会报错,但是增加了代码的可读性。