我有一个关于变量的小问题。我的主要语言是Java语言(我学习Python)的话,我有一个函数调用变量的问题,它不会刷新其新的价值:函数中的Python变量?
# Values
global e1x, e1y, e1c, e2x, e2y, e2c, altx, alty, x, y
def getValues():
print("Taking Ax + By = C:")
e1x = float(input("Value of x in first equation: "))
#...
if(confirm()): # A function I ommited 'cause its irrelevant
return e1x, e1y, e1c, e2x, e2y, e2c
else:
getValues()
def calculateValues():
# Stuff with variables
# MAIN
getValues()
calculateValues()
我试图把它写不全球,试图用自我字,但它不起作用。 (使用Python 3)
错误:
Traceback (most recent call last):
File "E002_GaussSeidel.py", line 41, in <module>
calculateValues()
File "E002_GaussSeidel.py", line 34, in calculateValues
print(str(e1x))
NameError: name 'e1x' is not defined
刻录*全局e1x,e1y,e1c,e2x,e2y,e2c,altx,alty,x,y *。你并不是真的想要使用全局变量。你也可以在类方法中使用'self',其中self表示方法将被调用的实例。如果你想使用这个逻辑,那么实际上不仅仅是函数创建一个类。 –
“不起作用”不是问题描述。你有错误吗?如果是这样,完整的追溯是什么?它表现出意外吗?如果是这样,请描述预期的和实际的行为。 –
当我尝试在'calculateValues()'上使用它时,Python说“e1x没有定义”,但是我在顶部声明并初始化了实际返回这些值的函数@SvenMarnach –