【发布时间】:2012-05-19 04:36:55
【问题描述】:
我现在才刚刚开始学习如何上课,但遇到了一些我不明白的事情。假设我有一堂课……
class Area(object):
def __init__(self, name, items):
self.name = name
self.items = items
现在,如果我以这种方式启动 Area 的实例:
impala = Area("Impala", ["shotgun", "salt"])
然后调用一个变量,比如:
print impala.items
它工作得很好。但是,如果我尝试以这种方式启动它:
class impala(Area):
def __init__(self):
self.name = "Impala"
self.items = ["shotgun", "salt"]
然后尝试做同样的事情它给了我一个错误:“type object 'impala' has no attribute 'items'”
谁能告诉我在第二个例子中我做错了什么以及为什么会发生?
【问题讨论】:
-
class impala(Area)不会创建Area的实例。它定义了Area的一个子类,称为impala。 -
啊啊啊啊,现在说得通了!谢谢你:)
-
您永远不会创建第二类的实例。也许我误解了您的问题,但您似乎将继承与实例化混淆了。
标签: python class object python-2.7 instance-variables