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

2024-10-01 15:38:08 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我做错了什么?我怎样才能解决这个问题? 多谢各位


Tags: 函数实体truereturnmydefcreatecar
2条回答

函数内部定义的变量具有局部作用域,这意味着它们不能从函数的外部世界访问。下面应该可以做到这一点:

def create_car():
    my_Car = Car("Interesting parameters")
    return my_Car


if __name__ == '__main__':

    car = create_car()

    while True:            
        car.steer()

根据您的代码,my_Car是create_car函数中的局部变量。您必须执行类似于my_Car = create_car()的操作

 my_Car = create_car()
 running = True
 while running:
     my_Car.steer()

谷歌搜索到的第一个解释链接:https://www.techbeamers.com/python-namespace-scope/

相关问题 更多 >

    热门问题