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就能实现函数内对全局的字典或者列表的更改。而列表和字典加上关键字不会报错,但是增加了代码的可读性。

猜你喜欢

转载自blog.csdn.net/peng_for_csdn/article/details/88558102