python class instance object之间的区别
Python类的用法
第一种方法:
class OneObjectCreater: pass
第二种方法带有类的参数
class TwoObjectCreaterobject: pass
都使用print出来,却有细微的差别;
if __name__ == "__main__": print OneObjectCreater print TwoObjectCreater
第一种输出:
<__main__.OneObjectCreater instance at 0xb7736eac>
第二种输出:
<__main__.TwoObjectCreater object at 0xb7736eac>
这样的区别对于使用有什么讲究,什么时候使用calss,什么时候使用classobject?
自从python2.2开始,继承与Object的class被叫做”New-Style Class”。
供参考:
http://stackoverflow.com/questions/54…
http://docs.python.org/2/reference/da…
http://www.python.org/doc/newstyle/
class叫做经典类,而classobject叫做新式类,新式类貌似是从2.2开始引入的。经典类是为了向后兼容,所以最好还是使用新式类,至于两者有什么区别?我也在学习:
Python 2.7.6 default, Mar 22 2014, 22:59:56
[GCC 4.8.2] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
class T:
… name = name
… def helloself:
… print hello
…
t = T
dirt
[doc, module, hello, name]
class Robject:
… name = name
… def helloself:
… print hello
…
r = R
dirr
[class, delattr, dict, doc, format, getattribute, hash, init, module, new, reduce, reduce_ex, repr, setattr, sizeof, str, subclasshook, weakref, hello, name]
发表评论