我正在尝试创建Box2D主体,并且需要在一个函数中执行它,所以我有一个非常简单的函数:
def create_car():
my_Car = Car("Interesting parameters"))
return my_Car
create_car()
然后我有这个主要的PyGame循环
running = True
while running:
my_Car.steer()
如定义所示, steer()
是用Car类编写的方法
但是当我尝试运行代码时,会出现此错误
my_Car() is not defined
我在做什么错,我该如何解决? 非常感谢
答案 0 :(得分:2)
在您的代码中,my_Car是create_car
函数中的局部变量。您必须执行类似my_Car = create_car()
的操作。
my_Car = create_car()
running = True
while running:
my_Car.steer()
第一个带有说明的Google搜索链接:https://www.techbeamers.com/python-namespace-scope/
答案 1 :(得分:1)
在函数内部定义的变量具有局部范围,这意味着无法从函数的外部环境访问它们。以下应该可以解决问题:
def create_car():
my_Car = Car("Interesting parameters")
return my_Car
if __name__ == '__main__':
car = create_car()
while True:
car.steer()