【python】给函数传递任意数量的实参

1.在预先不知道有多少个实参的情况下。可以使用如下操作,允许函数从调用语句中收集任意数量的实参。

def function_name(*test):
    print(test)

function_name('1')
function_name('1','2','3')

 输出结果:

('1',)
('1', '2', '3')

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

2.如果要让函数接收不同类型的实参,必须在函数定义中,将接收任意数量实参的形参放在形参的最后。

 

def function_name(size,*tests):
    print("\n"+str(size))
    for test in tests:
        print(test+' ')
function_name(12,'1')
function_name(12,'1','2','3')

3.使用任意数量的关键字实参,预先不知道传递给函数的会是什么信息。

示例代码如下

def function_name(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 = function_name('albert','einstein',location = 'princeton',field = 'physics')
print(user_profile)

输出结果:

{'first_name': 'albert', 'last_name': 'einstein', 'key': 'physics'}

我们调用函数function_name(),向它传递名'albert'和姓'einstein',还有两个键值对(location=‘princeton’和field='physics'),并将返回的profile存储到user_profile中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python中,函数的形参(形式参数)是在函数定义时声明的变量,它们用于接收函数调用时传递实参(实际参数)。函数调用时,实参的值会被传递函数的形参,从而可以在函数内部进行处理和计算。 函数的形参可以是必选参数、默认参数、可变参数和关键字参数。必选参数是指在函数调用时必须传递的参数,否则会引发`TypeError`异常。默认参数是指在函数定义时指定了默认值的参数,如果在函数调用时没有传递对应的实参,则使用默认值。可变参数是指可以接收任意数量实参的参数,包括位置参数和关键字参数。关键字参数是指可以接收任意数量的关键字实参的参数。 以下是一个函数的示例,它接收三个参数:两个必选参数和一个默认参数: ```python def add(a, b, c=0): return a + b + c ``` 在函数定义中,`a`和`b`是必选参数,而`c`是默认参数,它的默认值为0。因此,在函数调用时,可以传递两个或三个参数: ```python result1 = add(1, 2) # 传递两个参数,结果为3 result2 = add(1, 2, 3) # 传递三个参数,结果为6 ``` 如果尝试传递不正确的参数数量或类型,则会引发`TypeError`异常。例如: ```python add(1, 2, '3') # 传递一个字符串类型的参数,引发TypeError异常 add(1) # 传递一个参数,缺少必选参数b,引发TypeError异常 add(1, 2, 3, 4) # 传递四个参数,多余的参数4会引发TypeError异常 ``` 因此,在编写和调用函数时,需要注意参数的数量和类型,并且根据需要选择合适的参数类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值