变量和参数有什么区别

时间:2020-09-17 15:38:44

标签: python python-3.x variables parameters

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

4 个答案:

答案 0 :(得分:2)

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

 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 ...)

答案 1 :(得分:1)

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

x = 5

这里x是一个变量。但是,变量不仅可以指向数字,还可以指向更多类型的数据。它们可以指向字符串,函数等。

参数是传递给函数的东西

def my_function(y):
    print(y)

这里y是一个参数。它尚未包含值。但是,如果要调用该函数,则需要为该函数提供一个参数。

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

my_function(5)

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

my_function(x)

它还会打印5

答案 2 :(得分:0)

参数是一种变量类型,用作方法的输入。

答案 3 :(得分:0)

变量是引用某个值的名称(标识符)。值可以是不可变的类型,即不能更改的类型,例如字符串,字节,整数和浮点数:

x = 5 # immutable type
y = x # y points to what x currently points to, namely 5
x = 9 # x points to a new value, 9
print(x, y) # 9 5

变量也可以命名可变类型:

class MyType:
    pass

t1 = MyType()
t1.x = 5 # set member x to 5
t2 = t1 # t2 points to the same object as t1
t1.x = 9
print(t1.x, t2.x) # 9 9

参数(或参数)是传递给函数的值:

def foo(x):
    print(x)

foo(some_value)

x是函数foo的参数。 foo(some_value)以值foo作为实际值调用函数some_value。 Python解释器会在条目x = some_value中隐式分配foo。请注意,x是单词的每个含义的变量,但它是在foo的范围内定义的,因此它隐藏了x之外可能存在的foo的任何其他定义。 1}}。