python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python传递未知数量的函数参数

Python中实现传递未知数量的函数参数

作者:jaycain

这篇文章主要介绍了Python中实现传递未知数量的函数参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python传递未知数量的函数参数

元祖

方式:*形参名

举例:

def make_pizza(*toppings):
    """概述要制作的比萨"""    
    print("\nMaking a pizza with the following toppings:")   
    for topping in toppings:        
        print("- " + topping)
  
make_pizza('pepperoni')
make_pizza('mushrooms', 'green peppers', 'extra cheese')

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

任意关键字参数

方式:**形参名

举例:

def build_profile(first, last, **user_info): 
     """创建一个字典,其中包含我们知道的有关用户的一切"""  
    profile = {}
    profile['first_name'] = first
    profile['last_name'] = last
    for key, value in user_info.items(): 
        profile[key] = value 
        return profile
user_profile = build_profile('albert', 'einstein',  location='princeton',field='physics') 
print(user_profile)

形参**user_info中的两个星号让Python创建一个名为user_info的空字典,并将收到的所有名称—值对都封装到这个字典中。

python传递任意数量的参数

理论

**var 接收的是字典,*var接受的的是多个变量

代码

1. *

def get_user(*user):
    """传递参数"""
    return user


print(get_user('user1', 'user2'), type(get_user('user1', 'user2')))

运行结果如下图所示

2. **

def get_user(**user):
    """传递参数"""
    return user


print(get_user(user1='usera', user2='user2'), get_user(user1='usera', user2='user2'))

*注意:传递的参数必须要是上面这种形式,否则会报错

运行结果如下图所示

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文