📌  相关文章
📜  如何将多个参数传递给函数?

📅  最后修改于: 2022-05-13 01:55:48.333000             🧑  作者: Mango

如何将多个参数传递给函数?

例程是执行某些任务的一组命名指令。在给定程序中,一个例程总是可以根据需要被多次调用和调用。

当例程停止时,执行立即返回到调用例程的阶段。这样的例程可以在编程语言中预定义或由程序员设计或实现。函数是程序中例程的Python版本。一些函数旨在返回值,而另一些函数则用于其他目的。
我们在函数中传递参数,我们可以不传递任何参数,单个参数或多个参数给一个函数,并且可以多次调用该函数。
例子:

Python
# no argument is passed
 
# function definition
def displayMessage():
      print("Geeks for Geeks")
 
# function call
displayMessage()


Python
# single argument is passed
 
# function definition
def displayMessage(msg):
       print("Hello "+msg+" !")
 
msg = "R2J"
 
# function call
displayMessage(msg)


Python
# multiple arguments are passed
 
# function definition
def displayMessage(argument1, argument2, argument3):
          print(argument1+" "+argument2+" "+argument3)
 
# function call
displayMessage("Geeks", "4", "Geeks")


Python
# variable number of non keyword arguments passed
 
# function definition
def calculateTotalSum(*arguments):
    totalSum = 0
    for number in arguments:
        totalSum += number
    print(totalSum)
 
# function call
calculateTotalSum(5, 4, 3, 2, 1)


Python
# variable number of keyword arguments passed
 
# function definition
def displayArgument(**arguments):
    for arg in arguments.items():
        print(arg)
 
# function call
displayArgument(argument1 ="Geeks", argument2 = 4,
                argument3 ="Geeks")


Python
# single argument, non keyword argument
# and keyword argument are passed
 
# function definition
def displayArguments(argument1, *argument2, **argument3):
     
    # displaying predetermined argument
    print(argument1)
     
    # displaying non keyword arguments
    for arg in argument2:
        print(arg)
     
    # displaying non keyword arguments
    for arg in argument3.items():
        print(arg)
 
arg1 = "Welcome"
arg3 = "Geeks"
 
# function call
displayArguments(arg1, "to", arg3, agr4 = 4,
                  arg5 ="Geeks !")


输出:

Geeks for Geeks

在上面的程序中,调用 displayMessage()函数时没有传递任何参数。

Python

# single argument is passed
 
# function definition
def displayMessage(msg):
       print("Hello "+msg+" !")
 
msg = "R2J"
 
# function call
displayMessage(msg)

输出:

Hello R2J !

在上面的程序中, displayMessage()函数是通过传递一个参数来调用的。形式参数是存在于函数定义中的参数。实际参数是一个参数,它存在于函数调用中。
将多个参数传递给Python中的函数:

  • 我们可以通过在函数定义中预先确定形参来将多个参数传递给Python函数。

Python

# multiple arguments are passed
 
# function definition
def displayMessage(argument1, argument2, argument3):
          print(argument1+" "+argument2+" "+argument3)
 
# function call
displayMessage("Geeks", "4", "Geeks")
  • 输出:
Geeks 4 Geeks
  • 在上述程序中,将多个参数传递给 displayMessage()函数,其中要传递的参数数量是固定的。
  • 我们可以使用以下语法将多个参数传递给Python函数,而无需预先确定形式参数:
def functionName(*argument)
  • * 符号用于将可变数量的参数传递给函数。通常,当我们不知道将向函数发送多少参数时,此语法用于避免代码失败。

Python

# variable number of non keyword arguments passed
 
# function definition
def calculateTotalSum(*arguments):
    totalSum = 0
    for number in arguments:
        totalSum += number
    print(totalSum)
 
# function call
calculateTotalSum(5, 4, 3, 2, 1)
  • 输出:
15
  • 在上面的程序中,可变数量的参数被传递给 displayMessage()函数,其中要传递的参数数量不是预先确定的。 (此语法仅用于将非关键字参数传递给函数。)
  • 我们可以使用以下语法将多个关键字参数传递给Python函数,而无需预先确定形式参数:
def functionName(**argument)
  • ** 符号在参数前使用,以将关键字参数字典传递给函数,当我们不知道将向函数发送多少关键字参数时,此语法用于成功运行代码。

Python

# variable number of keyword arguments passed
 
# function definition
def displayArgument(**arguments):
    for arg in arguments.items():
        print(arg)
 
# function call
displayArgument(argument1 ="Geeks", argument2 = 4,
                argument3 ="Geeks")
  • 输出:
('argument2', 4)
('argument3', 'Geeks')
('argument1', 'Geeks')
  • 在上面的程序中,可变数量的关键字参数被传递给 displayArgument()函数。

这是一个程序来说明在函数中传递多个参数的所有上述情况。

Python

# single argument, non keyword argument
# and keyword argument are passed
 
# function definition
def displayArguments(argument1, *argument2, **argument3):
     
    # displaying predetermined argument
    print(argument1)
     
    # displaying non keyword arguments
    for arg in argument2:
        print(arg)
     
    # displaying non keyword arguments
    for arg in argument3.items():
        print(arg)
 
arg1 = "Welcome"
arg3 = "Geeks"
 
# function call
displayArguments(arg1, "to", arg3, agr4 = 4,
                  arg5 ="Geeks !")

输出:

Welcome
to
Geeks
('agr4', 4)
('arg5', 'Geeks!')

上面的程序说明了在函数中使用可变数量的非关键字参数和关键字参数以及非星号函数。在函数定义中,非星号参数总是在单个星号参数之前使用,而单个星号参数总是在双星号参数之前使用。