当我们可以在函数体中定义变量时,为什么我们在函数中使用参数?

时间:2016-10-21 17:21:49

标签: python python-2.7 python-3.x

此时我很困惑,我们在python中使用参数假设这个程序:

方法1

def f(x,y):
   z=x+y
   print(z)

f(1,2)

如果我们不传递参数并做这样的计算:

方法2

def f():
   x=1
   y=2
   z=x+y
   print(z)

f()

有什么区别,哪一个好,为什么我们在使用第二种方法时传递参数。

2 个答案:

答案 0 :(得分:3)

查看它的一个简单方法是它将如何影响代码库的大小。考虑需要计算f(1,2),f(3,4)和f(5,6)然后你只需要你的方法1的一个实例(称为三次)或方法2的三个实例(也称为三次)次)。因此,使用方法1可以节省您需要的代码量。

答案 1 :(得分:0)

传递参数的一个主要观点是,大多数时候你不知道它们会提前发生什么,所以你不能在函数内硬编码。举个例子:您希望有一个向用户打印问候语的功能,显然您不知道程序的所有未来用户的名称,并且您只会知道用户的姓名将它提供给您的程序,因此您唯一的选择是为参数提供一个包含您还不知道的用户名的变量:

def say_hello(username):
    print("Hello "+username+", nice to see you!")

另一点是,它允许您的功能重复使用不同的参数,method2将始终提供相同的输出永远,而method1每次你决定称之为你希望看到的结果。