gpt4 book ai didi

python - 处理未分配的变量

转载 作者:行者123 更新时间:2023-12-01 01:58:26 25 4
gpt4 key购买 nike

x = 0
y = 0
tx = 0
ty = 0

def setup():
size(600, 600)
noStroke()

def draw():
background(0)
textAlign(LEFT,TOP)
# text("Hello World",x,y)
tx=mouseX
ty=mouseY
f=0.01
#The error: "UnboundLocalError: local variable 'x' referenced before assignment"
x=lerp(x,tx,f)
y=lerp(y,ty,f)

这是处理Python代码。我使用的是 Mac OSX High Sierra 10.13.1,使用带有 Python 模式 3037 的处理 3.3.6。

此代码在代码中注释行之后的行给出“UnboundLocalError:赋值前引用的局部变量'x'”。

我是Python新手,这似乎是谷歌所说的。

编辑:另外,我如何在类方法中引用全局变量和实例变量?

最佳答案

要在函数内修改全局变量,您需要使用 global 语句,如下所示:

def draw():
global x, y, tx, ty
background(0)
...

如果您使用类,您的代码将如下所示:

class Drawer(object):
def __init__(self):
self.x = 0
self.y = 0
self.tx = 0
self.ty = 0

def setup(self):
size(600, 600)
noStroke()

def draw(self):
background(0)
textAlign(LEFT, TOP)
# text("Hello World",x,y)
self.tx = mouseX
self.ty = mouseY
f = 0.01
self.x = lerp(self.x, self.tx, f)
self.y = lerp(self.y, self.ty, f)

d = Drawer()
d.setup()
d.draw()

关于python - 处理未分配的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49929498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com