韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > Python基础教程 > Python可变参数函数用法详解

Python可变参数函数用法详解

头像

silencement

2019-07-06 10:10:463756浏览 · 0收藏 · 0评论

很多编程语言都允许定义个数可变的参数,这样可以在调用函数时传入任意多个参数。Python 当然也不例外,Python 允许在形参前面添加一个星号(*),这样就意味着该参数可接收多个参数值,多个参数值被当成元组传入。

下面程序定义了一个形参个数可变的函数:

# 定义了支持参数收集的函数
def test(a, *books) :
    print(books)
    # books被当成元组处理
    for b in books :
        print(b)
    # 输出整数变量a的值
    print(a)
# 调用test()函数
test(5 , "php中文网" , "Python教程")

运行上面程序,将看到如下运行结果:

('php中文网', 'Python教程')
php中文网
Python教程
5

从上面的运行结果可以看出,当调用 test() 函数时,books 参数可以传入多个字符串作为参数值。从 test() 的函数体代码来看,参数收集的本质就是一个元组: Python 会将传给 books 参数的多个值收集成一个元组。

Python 允许个数可变的形参可以处于形参列表的任意位置(不要求是形参列表的最后一个参数),但 Python 要求一个函数最多只能带一个支持“普通”参数收集的形参。例如如下程序:

# 定义了支持参数收集的函数
def test(*books ,num) :
    print(books)
    # books被当成元组处理
    for b in books :
        print(b)
    print(num)
# 调用test()函数
test("php中文网", "Python教程", num = 20)

正如从上面程序中所看到的,test() 函数的第一个参数就是个数可变的形参,由于该参数可接收个数不等的参数值,因此如果需要给后面的参数传入参数值,则必须使用关键字参数,否则程序会把所传入的多个值都当成是传给 books 参数的。

Python 还可以收集关键字参数,此时 Python 会将这种关键字参数收集成字典。为了让 Python 能收集关键字参数,需要在参数前面添加两个星号。在这种情况下,一个函数可同时包含一个支持“普通”参数收集的参数和一个支持关键字参数收集的参数。例如如下代码:

# 定义了支持参数收集的函数
def test(x, y, z=3, *books, **scores) :
    print(x, y, z)
    print(books)
    print(scores)
test(1, 2, 3, "php中文网" , "Python教程", 语文=89, 数学=94)

上面程序在调用 test() 函数时,前面的 1、2、3 将会传给普通参数 x、y、z;接下来的两个字符串将会由 books 参数收集成元组;最后的两个关键字参数将会被收集成字典。运行上面代码,会看到如下输出结果:

1 2 3
('php中文网', 'Python教程')
{'语文': 89, '数学': 94}

对于以上面方式定义的 test() 函数,参数 z 的默认值几乎不能发挥作用。比如按如下方式调用 test() 函数:

test(1, 2, "php中文网" , "Python教程", 语文=89, 数学=94)

如果希望让 z 参数的默认值发挥作用,则需要只传入两个位置参数。例如如下调用代码:

test(1, 2, 语文=89, 数学=94)

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

小雪被房东CAO得合不拢腿| 美国禁忌:性炮交| 欧美电影免费观看大全能出没 | 漂移之王| 在线观看日本韩国电影电视剧| MV在线观看免费播放历史| 校花晚上自慰忘穿内裤怎么办| 第-次和公翁做爰又大又粗 | 女性开过苞后最明显的变化| 主人请好好疼爱里面动画第二季| 雨后的故事| 欧美大尺寸SUV的未来发展趋势| 女人被男人进入后的心理变化| 性做爰A片春欲| 私处按摩SPA养生精油| 野外打野真实视频大全| 《法国空乘10》| 挺进朋友人妻张婉莹身体| 妈妈的闺蜜2字ID| 《蜜桃成熟时》无删减版| B站未过审的跳舞视频| 《与上司做爰HD》| 男人女人免费观看40集电视剧| 后妈的绣感6| 大肉大捧一进一出视频的注意事项| 嫂嫂宝库免费观看电视剧全部 | 许飞琼| 小洞流口水了 是不是饿了| 《女朋友的妹妹3》| 饥渴老翁一晚要了我三次| 他扒开我小沉添我三男一女视频 | SHIF| 房东天天吃我奶躁我在哪里看| 禁忌1蜜桃熟了| 都市枭雄| 男男| 日大B舒服还是小B舒服呢| 他扒开我小沉添我三男一女视频| 《熟妇的荡欲》HD中字| 美国禁忌6 结局| 妈妈爱看最经典十部电视剧