【发布时间】:2013-08-02 09:16:25
【问题描述】:
我无法理解 Python 中的包。特别是,在 Python 的一个包中的一个模块中是否可以有多个类。例如:
Kitchen/ Top-level package
__init__.py Initialize the package kitchen
Fridge.py module Fridge.py
Food This is a class in module Fridge
Temperature This is another class in module Fridge
Recipe.py
BeefStake This is a class in module Recipe.py
在__init__.py中,代码为:
from Fridge import Food, Temperature
from Recipe import BeefStake
__all__ = ['Fridge', 'Recipe']
然后我会创建一个温度类的实例
from Kitchen import *
f = Food()
T = Temperature()
我试过了,只有 f = Food() 有效。另一个出现错误,类似于NameError: name 'Temperature' is not defined
如果有人知道是否有可能在 Python 的包中的一个模块中拥有 2 个这样的类。如果是这样,这种方法可能存在什么问题?
【问题讨论】:
-
您提供给我们的代码并未说明您所询问的问题,因为
f = Food()没有 工作。请给我们您的真实代码,或者更好的是SSCCE,而不仅仅是与您的真实代码类似的代码。调试我们看不到的东西是不可能的,当有一百万件你可能做错的事情并且无法知道你做错了什么时。
标签: python class module directory package