python中的object类有何作用?

NightCrawler

2009-11-07 21:40:53 来自: NightCrawler(回忆2061)

能举例说明一下吗

  • Bonfire

    2009-11-07 21:47:10 Bonfire (看论文看得想哭)

    貌似和 新式类 (new style class) 有关系

  • 元创

    2009-11-09 07:34:07 元创 (操着卖白粉的心,挣着卖白菜的钱)

    当它没有作用好了。

  • 谁请吃烤鱼

    2009-11-09 09:29:15 谁请吃烤鱼

    FROM CSDN:

    1 楼limodou()回复于 2005-07-25 21:03:34 得分 100

    从object派生的话就是new style class,不带object就是classic class。具体的区别建议你去python.org的文档中有专题介绍。new style class支持内置类型的派生,可以处理metaclass(元类),还有property(属性),总之是一些相对高级的特性,以后也许会全部使用 new style class。不学关系也不是很大。

  • 大笨狗

    2009-11-13 17:19:57 大笨狗 (日记强国,地图开疆,文件灭倭)

    原来是受了楼上的蛊惑啊, 怪不得有人跟我讲,issubclass(Base, type); class C: __metaclass__ = Base,C是旧类呢。

  • DaemonEye

    2009-11-14 10:51:01 DaemonEye (血火同源)

    加了object就是新式类 有点property __slot__之类的东西 反正3x版本都是新式类了也无所谓了

  • 大笨狗

    2009-11-14 12:17:35 大笨狗 (日记强国,地图开疆,文件灭倭)

    ls的,什么叫加了就是?不加就不是了?

  • DaemonEye

    2009-11-16 20:45:47 DaemonEye (血火同源)

    2x版本不是加了object才认为是新式类么?

  • 大笨狗

    2009-11-16 22:34:31 大笨狗 (日记强国,地图开疆,文件灭倭)

    当然不是。
    还有声明__metaclass__ = type呢

  • DaemonEye

    2009-11-16 22:59:50 DaemonEye (血火同源)

    ls是吗?“通常情况下,任何从object或其他内置类型衍生的类 都会自动视作新式类”
    这段话是learning python第三版的 有问题吗?ls能给下那个__mataclass__=type的出处吗? 我看完learning python也没有这句话的影响 谢谢

  • 大笨狗

    2009-11-17 13:36:56 大笨狗 (日记强国,地图开疆,文件灭倭)

    很正常,因为Learning Python是讲怎么用Python的,而不是系统的讲Python这门编程语言的。它没有说,只有class C(object)或class C(新类)造出来的才是新类啊。声明metaclass与继承object的效果是相同的。可以自己试试:
    >>> class C1(object):
    ... pass
    ...
    >>> class C2:
    ... pass
    ...
    >>> class C3:
    ... __metaclass__ = type
    ...
    >>> type(C1)
    <type 'type'>
    >>> type(C2)
    <type 'classobj'>
    >>> type(C3)
    <type 'type'>

  • DaemonEye

    2009-11-17 17:33:17 DaemonEye (血火同源)

    噢多谢ls 我还真不知道了 最近在补corepython和dip 那本深入研究python编译器的下了单子放家里准备放假回去看
    非常感谢了 我回去在LP上写一笔吧 thx


这个小组的成员也喜欢去   · · · · · · 

Django
Django (1340)
Vim
Vim (3260)
Google App Engine
Google App Engine (1422)
Linux
Linux (4198)
ubuntu
ubuntu (4515)
Ruby
Ruby (1148)