尽管实例已实例化但未定义

时间:2020-02-18 09:23:22

标签: python function oop

我正在尝试创建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

我在做什么错,我该如何解决? 非常感谢

2 个答案:

答案 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()
相关问题