变量和参数有什么区别

3 python variables parameters python-3.x

我是第一次学习 python 3 和一般编程,但我似乎无法区分参数和变量?

Sha*_*ger 9

参数是作为函数参数接收的变量。一旦函数开始执行,参数就像任何其他变量一样;它可以像其他任何东西一样被重新分配(并且不再与调用者的参数绑定)。

 global_variable = ... still a variable, just defined globally ...
 def foo(parameter):
     function_local_variable = ... something defined locally ...


 foo(... argument that is bound to parameter in foo ...)
Run Code Online (Sandbox Code Playgroud)


foo*_*iey 6

变量只是引用/指向您拥有的某些数据的东西。

x = 5
Run Code Online (Sandbox Code Playgroud)

这里x是一个变量。不过,变量可以指向比数字更多种的数据。它们可以指向字符串、函数等。

参数是传递给函数的东西

def my_function(y):
    print(y)
Run Code Online (Sandbox Code Playgroud)

这里 y 是一个参数。它还不包含值。但如果我想调用该函数,我需要向该函数提供一个参数。

参数是您提供给替换参数的函数的实际值。

my_function(5)
Run Code Online (Sandbox Code Playgroud)

这里,5 是参数。当然,由于 x 指向值“5”,我也可以这样做:

my_function(x)
Run Code Online (Sandbox Code Playgroud)

它还打印 5