当前位置:   article > 正文

python中的def函数可以设置默认值不_python函数参数默认值的用法及注意要点

python def默认值

本篇文章给大家带来的内容是关于python函数参数默认值的用法及注意要点,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

最有用的形式是对一个或多个参数指定一个默认值。这样创建的函数,可以用比定义时允许的更少的参数调用,比如:def ask_ok(prompt, retries=4, reminder='Please try again!'):

while True:

ok = input(prompt)

if ok in ('y', 'ye', 'yes'):

return True

if ok in ('n', 'no', 'nop', 'nope'):

return False

retries = retries - 1

if retries < 0:

raise ValueError('invalid user response')

print(reminder)

这个函数可以通过几种方式调用:

只给出必需的参数:ask_ok('Do you really want to quit?')给出一个可选的参数:ask_ok('OK to overwrite the file?', 2)或者给出所有的参数:ask_ok('OK to overwrite the file?', 2, 'Come on, only yes or no!')

这个示例还介绍了 in 关键字。它可以测试一个序列是否包含某个值。

默认值是在 定义过程 中在函数定义处计算的,所以i = 5

def f(arg=i):

print(arg)

i = 6

f()

会打印 5。

重要警告: 默认值只会执行一次。这条规则在默认值为可变对象(python列表、字典以及大多数类实例)时很重要。比如,下面的函数会存储在后续调用中传递给它的参数:def f(a, L=[]):

L.append(a)

return L

print(f(1))

print(f(2))

print(f(3))

这将打印出[1]

[1, 2]

[1, 2, 3]

如果你不想要在后续调用之间共享默认值,你可以这样写这个python函数:def f(a, L=None):

if L is None:

L = []

L.append(a)

return L

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/261447
推荐阅读
相关标签
  

闽ICP备14008679号