Python:向函数传递任意数量的实参

传递任意数量的实参
有时候,你预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中收集任意数量的实参

def get_letter(*letters):
    for i in letters:
        print(i)
get_letter('A','B','C','D','E')

形参名*letters中的星号让Python创建一个名为letters的空元组,并将收到的所有值都封装到这个元组中

结合使用位置实参和任意数量的实参
如果让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def get_letter(max_length,*letters):
    print("\nThe Maximum length is "+str(max_length))
    for i in letters:
        print(i)
get_letter(10,'A','B','C','D','E')

使用任意数量的关键字实参
在不知道向函数传递的信息是什么样的情况下,还可以将函数编写能够接受任意数量的键-值对–调用语句提供多少就接受多少

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def get_info(NM,**UserInfo):
    profile ={}
    profile['name'] = NM
    for key,value in UserInfo.items():
        profile[key] = value
    return profile

user_profile = get_info('zhangsan',sex = 'man',age = 23)
print(user_profile)

在get_info函数体内,我们创建了一个名为profile的空字典,用于存储用户的信息,我们先将NM存储到字典中,然后遍历UserInfo中的键值对,将每一个键-值存储在字典中。

总结

*UserInfo 元组

**UserInfo 字典

发布了35 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qdPython/article/details/103894289