+ -
当前位置:首页 → 问答吧 → 定义类的问题

定义类的问题

时间:2011-03-02

来源:互联网

本帖最后由 liaozd 于 2011-03-02 23:26 编辑

为什么定义类的时候 class MyClass(object),括号里面的object加不加会有明显不同。


Python 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.


——————————————————————————————————————————
>>> class MyClass():
                 pass

>>> mc = MyClass()
>>> mc
<__main__.MyClass instance at 0x01F46A08>
>>> MyClass
<class __main__.MyClass at 0x01F44960>
>>> type(mc)
<type 'instance'>
>>> type(MyClass)
<type 'classobj'>
>>> type(MyClass())
<type 'instance'>
>>>


——————————————————————————————————————————

>>> class MyClass(object):
        pass

>>> mc = MyClass()
>>> mc
<__main__.MyClass object at 0x01AF0FF0>
>>> MyClass
<class '__main__.MyClass'>
>>> type(mc)
<class '__main__.MyClass'>
>>> type(MyClass)
<type 'type'>
>>> type(MyClass())
<class '__main__.MyClass'>


第三种情况定义类的时候连括号都不加
——————————————————————————————————————————


>>> class MyClass:
...     pass
...
>>> mc = MyClass()
>>> mc
<__main__.MyClass instance at 0x01AA8B98>
>>> MyClass
<class __main__.MyClass at 0x01558480>
>>> MyClass()
<__main__.MyClass instance at 0x01AA8BC0>
>>> type(mc)
<type 'instance'>
>>> type(MyClass)
<type 'classobj'>
>>> type(MyClass())
<type 'instance'>
>>>

作者: liaozd   发布时间: 2011-03-02