Python 如何使用可变长度的函数参数

Python 如何使用可变长度的函数参数

顾名思义,具有可变长度的参数可以采用各种值。您可以使用 *(例如*args)定义一个可变参数来显示该函数可以接受可变数量的参数。

Python中可变长度参数的观察结果如下。

  • 指定可变长度参数的*args不是必需的。唯一需要的是*;变量名称可以是任何内容,如*names*numbers

  • 使用可变长度参数可以向函数发送零个或多个参数。

  • 用于存储传递给*args的值的元组。

  • 可以在变量args之前使用正式参数,但不能在其后使用。您可以在可变参数后面使用关键字参数。

阅读更多:Python 教程

函数中的*args

要在Python中向函数传递可变数量的参数,请在函数说明中使用特殊语法*args。它用于传递一个变长、无关键字的参数列表。根据惯例,在采用可变数量参数的语法中经常使用带有单词args的*号。

您可以使用*args接受比先前定义的正式参数数量更多的附加参数。使用*args可以向您当前的正式参数添加任意数量的额外参数(包括零个额外参数)。

例如,我们希望创建一个乘法函数,可以同时乘以任意数量的输入。使用可变参数使您的函数更适应数量不确定的情况。想象一下,您有一个添加数字的函数。

示例1

以下示例演示带有固定数量参数的常规函数的用法。

def add(num1, num2):
   return num1+num2
print(add(4,5))
Python

输出

生成的输出如下所示。

9
Python

您可以指定函数接受可变数量的参数,并可以用于将多达’n’个数字相加,方法是更改参数为*args。

示例2

以下示例演示使用变量长度参数的函数的用法。

def add_num(*args):
   sum = 0
   for num in args:
      sum += num
   return sum
result = add_num(1, 2, 3)
print('Sum is', result)
result = add_num(10, 20, 30, 40)print('Sum is', result)
22
result = add_num(5, 6, 7, 8, 9)
print('Sum is', result)
Python

输出

生成的输出如下所示。

Sum is 6
Sum is 100
Sum is 35
Python

示例3

看看另一个例子 –

def multiply(*args):
   y = 1
   for num in args:
      y *= num
   print(y)
multiply(3, 7)
multiply(9, 8)
multiply(3, 4, 7)
multiply(5, 6, 10, 8)
Python

输出

产生的输出如下。

21
72
84
2400
Python

函数中的 **kwargs

使用特定的语法 **kwargsPython 函数声明中传递关键字变量长度参数。使用名称 kwargs 来实现双星,双星的能力是传递关键字参数的原因(和任何数量的关键字参数)。将变量传递给函数时,您可以使用关键字参数为其指定名称。

kwargs 可以被视为将每个术语与传递的值相关联的字典。 因此,当我们通过它们进行迭代时,似乎没有任何顺序来打印 kwargs。

例子

以下示例使用 **kwargs 获取参数。

def intro(**data):
   print("\n参数的数据类型:",type(data))
   for key, value in data.items():
      print("{} is {}".format(key,value))
intro(EmployeeName="George", Lastname="Jackson", Age=22, Phone=1234567890)
intro(Firstname="James", Lastname="Jude", Email="jamesjude@nomail.com", Country="USA", Age=25, Phone=9876543210)
Python

输出

产生的输出如下。

参数的数据类型:
EmployeeNameGeorge
LastnameJackson
Age22
Phone1234567890

参数的数据类型:
Firstname是詹姆斯
Lastname是裘德
电子邮件是jamesjude@nomail.com
Country是美国
Age25
Phone9876543210
Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册