我的问题是关于在python中传递变量的
我试图改变一些变量(数据帧),并创建了一个简单的例子来说明 首先,我甚至不知道如何更改函数中的变量。函数完成后,a仍然为0 第二,如果我想让函数设置它们的值,我必须在调用函数之前初始化a和b吗?或者我可以在通话中第一次使用它们吗我的问题是关于在python中传递变量的,python,function,Python,Function,我试图改变一些变量(数据帧),并创建了一个简单的例子来说明 首先,我甚至不知道如何更改函数中的变量。函数完成后,a仍然为0 第二,如果我想让函数设置它们的值,我必须在调用函数之前初始化a和b吗?或者我可以在通话中第一次使用它们吗 def set_values(x,y): x,y=6,7 return x,y set_values(0,0) 这将设置a和b的值 a,b = set_values(a,b) 说明:set_values函数返回a和b的更新值,因此将这些返回值分别
def set_values(x,y):
x,y=6,7
return x,y
set_values(0,0)
这将设置a和b的值
a,b = set_values(a,b)
说明:set_values函数返回a和b的更新值,因此将这些返回值分别分配给a和b
def set_values(x,y):
x,y=6,7
return(x,y)
a,b=0,0
values = set_values(a,b)
print(values)
您正在将值传递给函数。但是您没有将它们存储在任何变量中(从函数返回值)。首先,您可以正确地从函数返回值,但是如果您希望这些值返回到调用代码中,则必须执行以下操作
a,b = set_values(a,b)
否则返回的值就会被丢弃
对于第二个问题,您不必完全初始化它们,但在调用set_values()
时引用它们之前,它们必须存在。但您不必传入它们,因为在任何情况下都会覆盖这些值:
def set_values():
x,y=6,7
return(x,y)
a, b = set_values()
可以使用函数的返回设置变量,但应使用“=”进行设置,类似于:
a, b = set_values()
函数内部的变量是局部变量,您可以使用在外部设置的变量,使用:
global my_var
然后,如果设置为内部,则可以从外部看到新值。例如:
def my_function():
global a
a = "new value"
就像一个好的实践一样,它最好尽量少用,但你可以 您正在从函数setValues返回,但没有将其保存在类似val的value=set_values(a,b)Try
a,b=set_values()
传递变量在Python中不是一件事。您没有传递a
和b
变量,并且无法传递这些变量。您正在传递值0
和0
。如果函数不使用/读取x
和y
,您应该删除这些参数,然后执行全局a、b;a、 b=6,7
@tobias_k:建议无理由使用global
不是一个好主意。那么为什么要将a
和b
作为参数传递呢?它们是不相关的a和b是不相关的,检查pythoni中的passby reference,我认为这只是一个例子,如果有人想使用a和b来计算新值,那么你需要在函数中使用a和b。
def my_function():
global a
a = "new value"