Python 如何用参数列表调用一个函数
函数的目的是使用代码块来执行一个特定的任务。在编程中,函数通过消除不必要的、过多的代码复制和粘贴来节省时间。因此,如果有一个共同的动作需要在不同的地方经常执行,那么函数将有很大的用途。
你唯一需要做的就是更新那个特定的函数,如果你想做一个改变的话。因此,你不再需要复制和粘贴散落在程序中的同一段代码,以便找到它。这遵循了软件开发中的不要重复自己的原则。每当一个函数被调用,里面的代码就会运行。在代码运行后,函数可以作为参数或默认值返回给调用者。
在 Python 中定义一个函数
Python 函数通常是用以下语法创建的
def function_name(parameters):
function body
一个函数是用 “def “关键字定义的,后面是函数名称和用括号括起来的参数。我们必须记住,这些括号中列出的名称被称为参数;而通过这些参数传递的值则被称为参数。
参数用于在函数调用过程中向函数传递信息。多个参数可以通过用逗号分隔来传递给一个函数。
调用一个函数
调用函数时要使用函数名,后面是用括号括起来的参数。它可以不包含参数、两个参数或两个以上的参数。
def my_func():
print("Hello World")
def func(a):
print(a+a)
my_func() #calling the function with no arguments
func(2) #calling the function with arguments
输出
Hello World
4
传递多个参数
一个Python函数可以不接受任何参数,只接受一个参数,或者多个参数。这些多个参数可以通过使用逗号分隔来传递给一个函数;但在这种情况下,必须在函数定义中定义相同数量的参数。
然而,如果要传递的参数数量很大,那么声明每个参数就变得很困难。因此,使用 *args
关键字,我们可以定义一个参数,并将其解包以传递多个参数,从而减少麻烦。当没有单独的参数时,就会使用解包操作符*。
使用*args
关键字定义的函数的语法如下-
function_name(*args)
例子
在下面的例子中,我们定义了一个函数 “func”,并使用*args
关键字将两个列表list1和list2作为其参数传递。然后,使用 “in “操作符,这些列表被反复显示。
def func(*args): # here, *args can be of any name and not just args
for i in args:
print(i)
list1 = [1, 2, 3]
list2 = [4, 5, 6]
#function call passing two lists
func(list1, list2)
输出
[1, 2, 3]
[4, 5, 6]
例子
在非预设元素的情况下,这个方法很有用。Python 函数的形式参数不必预先确定,因为我们可以传递多个元素。在参数数量未知的情况下,使用*args
可以防止代码失败。如果在一个列表中没有预先确定的元素,可以使用这个方法。
# using arguments
def func(*arguments):
for i in arguments:
print(i)
# function call
func("Hello", "world")
输出
Hello
world