我已经创建了一个名为Game的类:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="top">
<button class="btn">Show content</button>
</div>
<div id="drop" class="drop">
<div class="dropdown">
<p>Hidden content</p>
</div>
</div>
<div class="bottom">
</div>
这个类位于自己的文件game.py中。我还有一个看起来像这样的main.py文件:
class Game:
def __init__(self):
self.location = 5
def router(self):
if game.location == 5:
x = Rooms()
x.room5();
当我运行main.py时,出现以下错误:
路由器中的文件“C:\ Users \ wilsond \ Dropbox \ Projects \ testing \ game.py”,第81行 如果game.location == 5: NameError:未定义全局名称“游戏”
我的问题是如何让变量位置可用于Game类中的其他模块?
答案 0 :(得分:1)
您需要使用self.location
代替game.location
。在定义Game的类方法时,self
参数用于引用Game的实例(也使用名为self
的参数进行实例化)。
class Game:
def __init__(self):
self.location = 5
def router(self):
if self.location == 5:
x = Rooms()
x.room5();
当然,如果没有定义Rooms()
类,代码片段仍然无法运行。但这会修复你的NameError为'游戏'。