您现在的位置是:网站首页>Python编程Python编程

python函数参数默认值的用法及注意要点

少儿编程网2020-02-14 18:45:33Python编程 人已围观 来源:少儿编程 -用户投稿

简介本篇文章给大家带来的内容是关于python函数参数默认值的用法及注意要点,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。最有用的形式是对一个或多个参数指定一个默认值。这样创建的函数,可以用比定义时允许的更少的参数调用,比如:defask_ok(prompt,retries=4,rem

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

 FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

最有用的形式是对一个或多个参数指定一个默认值。这样创建的函数,可以用比定义时允许的更少的参数调用,比如:FR5少儿编程网-Scratch_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)

这个函数可以通过几种方式调用:FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

只给出必需的参数:ask_ok('Do you really want to quit?')FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
给出一个可选的参数:ask_ok('OK to overwrite the file?', 2)FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
或者给出所有的参数:ask_ok('OK to overwrite the file?', 2, 'Come on, only yes or no!')FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

这个示例还介绍了 in 关键字。它可以测试一个序列是否包含某个值。FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

默认值是在 定义过程 中在函数定义处计算的,所以FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

i = 5

def f(arg=i):
    print(arg)

i = 6
f()

会打印 5。FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

重要警告: 默认值只会执行一次。这条规则在默认值为可变对象(python列表、字典以及大多数类实例)时很重要。比如,下面的函数会存储在后续调用中传递给它的参数:FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

def f(a, L=[]):
    L.append(a)
    return L

print(f(1))
print(f(2))
print(f(3))

这将打印出FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

[1]
[1, 2]
[1, 2, 3]

如果你不想要在后续调用之间共享默认值,你可以这样写这个python函数:FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

def f(a, L=None):
    if L is None:
        L = []
    L.append(a)
    return L

以上就是python函数参数默认值的用法及注意要点的详细内容,更多请关注少儿编程网其它相关文章!FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

来源:php中文网FR5少儿编程网-Scratch_Python_教程_免费少儿编程学习平台


相关文章:

支持一下 ( )

python函数参数默认值的用法及注意要点

      匿名评论
    • 评论
    人参与,条评论
    python函数参数默认值的用法及注意要点

客服在线

服务时间

周一至周日 9:00-21:00