首页 > 解决方案 > 我对“自我”实例有什么不了解?

问题描述

这是我的 github 的链接:airplane.py

我不断收到错误:

NameError: name 'self' is not defined

我查看了无数其他堆栈溢出线程,显然我对 self 实例有些不理解,因为感觉就像我已经尝试了他们建议的所有内容。为了澄清起见,Airplane.__init__(self)最后应该在类之外,因为此时我想实际执行代码。如果有更好的方法,请告诉我,因为我怀疑这可能是问题所在。

标签: pythonpython-3.xselfnameerror

解决方案


当您超出__init__Airplane 的功能范围class(或该类的另一个方法,您self在定义时将单词作为参数)时,该self单词不再具有意义(除非您将其定义为其他东西,在您的全局范围),因为它不存在于全局范围内。因此它不会识别self指的是什么。

如果你想执行你写的东西__init__(self),只需通过以下方式创建该类的实例:

tmp = Airplane()

推荐阅读