如果变量是全局声明的,那么在python函数中传递参数的必要性是什么


a = 13
b = 12
def add():
return a + b
def add2(a, b):    # why to pass a and b?
return a + b
print(add())   # result 25
print(add2(a, b))    #result 25

如果我们可以使用值/变量而不将它们传递给函数,为什么我们需要将参数传递给python函数?

在您的情况下,没有必要传递参数,因为您总是添加相同的两个变量。但是,如果你想要一个可以添加任意两个变量的函数,该函数如何知道要添加哪两个变量?在下面的例子中,我有三个变量和一个函数来添加其中两个:

def add():
return a + b
a = 5
b = 7
c = 10
print(add())  # 12
# No way to add a + c or b + c

问题是,如果我想将c添加到其他变量中,我没有办法做到这一点。我们可以定义一个函数,它需要两个参数来解决这个问题:

def add(n1, n2):
return n1 + n2
a = 5
b = 7
c = 10
print(add(a, b))  # 12
print(add(a, c))  # 15
print(add(b, c))  # 17

所以,简而言之,如果你不确定函数需要的全局变量,你只需要向函数传递参数

最新更新