PHP前端开发

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

百变鹏仔 2周前 (01-23) #Python
文章标签 函数

本篇文章给大家带来的内容是关于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 <p>这个函数可以通过几种方式调用:<br></p><p>只给出必需的参数:<span class="pre">ask_ok('Do <span class="pre">you <span class="pre">really <span class="pre">want <span class="pre">to <span class="pre">quit?')<br></span></span></span></span></span></span>给出一个可选的参数:<span class="pre">ask_ok('OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?', <span class="pre">2)<br></span></span></span></span></span></span>或者给出所有的参数:<span class="pre">ask_ok('OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?', <span class="pre">2, <span class="pre">'Come <span class="pre">on, <span class="pre">only <span class="pre">yes <span class="pre">or <span class="pre">no!')</span></span></span></span></span></span></span></span></span></span></span></span></p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/00968c3c2c15" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Python免费学习笔记(深入)</a>”;</p><p>这个示例还介绍了 <span class="pre">in</span> 关键字。它可以测试一个序列是否包含某个值。</p><p>默认值是在 <em>定义过程</em> 中在函数定义处计算的,所以</p><pre class="brush:php;toolbar:false">i = 5def f(arg=i):    print(arg)i = 6f()

 会打印 5。

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

def f(a, L=[]):    L.append(a)    return Lprint(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