【发布时间】:2017-11-24 15:06:43
【问题描述】:
我正在创建我的第一个 python 包。
在__init__.py 中,我从一个模块导入并打开一个对象App。
from app import App
app = App()
app.py:
class App(tk.Tk):
def __init__(self):
#Create App
tk.Tk.__init__(self)
self.geometry("1000x550")
self.title("Game")
self.container = tk.Frame(self).grid()
然后,在另一个模块game.py中,我需要访问app在__init__.py中初始化时创建的app和app.container。
我试过了:
from app import App
# Does not retrieve variables
from __init__ import app
# Does not retrieve object
from app import App
app = App()
# Intialized the object twice
【问题讨论】:
-
“不检索变量”是什么意思?另外,为什么要在
__init__中创建App的实例?这不是你通常做事的方式。 -
@BryanOakley 如果我尝试调用
App.container,则会出错,它不存在。这也是我的第一个包,所以不熟悉正常的方式 -
App.container不存在,因为它是实例变量,而不是类变量。要访问container,您必须执行App().container。