【发布时间】:2010-05-14 15:54:06
【问题描述】:
我是 Python 新手,我知道我一定遗漏了一些非常简单的东西,但是为什么这个非常非常简单的代码不起作用?
class myClass:
pass
testObject = myClass
print testObject.__class__
我收到以下错误:
AttributeError: class myClass has no attribute '__class__'
Python 中的每个对象不是都有__class__ 属性吗?
【问题讨论】:
-
错误只存在于 Python 2.x。在 Python 3.1 中,
__class__不会产生错误。而且,你为什么还在使用老式的类? -
@KennyTM - 这可能很密集,但是......什么是旧式类?
-
不是从
object派生的类。 -
@KennyTM - 在 Python 中,您是否应该从对象显式派生所有类? (如果是,为什么?)
-
所有新风格的类都应该派生自顶层的
object。详情请见stackoverflow.com/questions/54867/…。