首页 > 后端开发 > Python教程 > python函数参数默认值的用法及注意要点

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

不言
发布: 2019-04-15 11:07:29
转载
4218 人浏览过

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

最有用的形式是对一个或多个参数指定一个默认值。这样创建的函数,可以用比定义时允许的更少的参数调用,比如:

1

2

3

4

5

6

7

8

9

10

11

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(&#39;invalid user response&#39;)

        print(reminder)

登录后复制

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

只给出必需的参数:<span class="pre">ask_ok(&#39;Do <span class="pre">you <span class="pre">really <span class="pre">want <span class="pre">to <span class="pre">quit?&#39;)<br/></span></span></span></span></span></span>给出一个可选的参数:<span class="pre">ask_ok(&#39;OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?&#39;, <span class="pre">2)<br/></span></span></span></span></span></span>或者给出所有的参数:<span class="pre">ask_ok(&#39;OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?&#39;, <span class="pre">2, <span class="pre">&#39;Come <span class="pre">on, <span class="pre">only <span class="pre">yes <span class="pre">or <span class="pre">no!&#39;)</span></span></span></span></span></span></span></span></span></span></span></span>

这个示例还介绍了 <span class="pre">in</span> 关键字。它可以测试一个序列是否包含某个值。

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

1

2

3

4

5

6

7

i = 5

 

def f(arg=i):

    print(arg)

 

i = 6

f()

登录后复制

会打印 5。

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

1

2

3

4

5

6

7

def f(a, L=[]):

    L.append(a)

    return L

 

print(f(1))

print(f(2))

print(f(3))

登录后复制

这将打印出

1

2

3

[1]

[1, 2]

[1, 2, 3]

登录后复制

如果你不想要在后续调用之间共享默认值,你可以这样写这个python函数:

1

2

3

4

5

def f(a, L=None):

    if L is None:

        L = []

    L.append(a)

    return L

登录后复制

以上是python函数参数默认值的用法及注意要点的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
python - ubuntu16.04 lxml的报错
来自于 1970-01-01 08:00:00
0
0
0
有办法在PHP里写Python吗?
来自于 1970-01-01 08:00:00
0
0
0
python scrapy爬虫错误
来自于 1970-01-01 08:00:00
0
0
0
python相关问题求解决,有偿
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板