Python论坛  - 讨论区

标题:[python-chinese] 求教metaclass

2006年01月06日 星期五 11:00

Bruce Who bruce.who.hk at gmail.com
Fri Jan 6 11:00:51 HKT 2006

很早之前就知道有metaclass,但一直都没弄清它到底是怎么回事,看了IBM developer上的文章,但还是云里雾里,希望群里的同道解释一下啊:

1.什么是metaclass
2.为何要用metaclass
3.最简单的使用方法,如何构造
4.实例,在什么项目或何处使用了

先谢了啊!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月06日 星期五 11:21

limodou limodou at gmail.com
Fri Jan 6 11:21:58 HKT 2006

在 06-1-6,Bruce Who<bruce.who.hk at gmail.com> 写道:
> 很早之前就知道有metaclass,但一直都没弄清它到底是怎么回事,看了IBM developer上的文章,但还是云里雾里,希望群里的同道解释一下啊:
>
> 1.什么是metaclass

metaclass 就是元类,它是类的类。在 python.org 上有相应的文档,包含在new style class内容之中。

> 2.为何要用metaclass

为了对类的创建进行定制。

> 3.最简单的使用方法,如何构造

要看例子,一时我也记不住。还没有用过。

> 4.实例,在什么项目或何处使用了
>
很多地方,象SQLObject,Peak,django中好象也有。
--
I like python!
My Blog: http://www.donews.net/limodou
NewEdit Maillist: http://groups.google.com/group/NewEdit

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月06日 星期五 12:17

shhgs shhgs.efhilt at gmail.com
Fri Jan 6 12:17:05 HKT 2006

1. 90%的程序员不需要知道metaclass

2. Python in a Nutshell有比较详细的解释

曾经看过,也曾经看懂了,但是一直没机会用,所以忘了

惭愧






On 1/5/06, Bruce Who <bruce.who.hk at gmail.com> wrote:
> 很早之前就知道有metaclass,但一直都没弄清它到底是怎么回事,看了IBM developer上的文章,但还是云里雾里,希望群里的同道解释一下啊:
>
> 1.什么是metaclass
> 2.为何要用metaclass
> 3.最简单的使用方法,如何构造
> 4.实例,在什么项目或何处使用了
>
> 先谢了啊!
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月06日 星期五 13:02

shhgs shhgs.efhilt at gmail.com
Fri Jan 6 13:02:19 HKT 2006

重新复习了一下,写了一个文档

主要是粗略地翻译了一下Python in a Nutshell的5.4 metaclass一节,可以算作是读书笔记吧

希望能有所帮助

On 1/5/06, shhgs <shhgs.efhilt at gmail.com> wrote:
> 1. 90%的程序员不需要知道metaclass
>
> 2. Python in a Nutshell有比较详细的解释
>
> 曾经看过,也曾经看懂了,但是一直没机会用,所以忘了
>
> 惭愧
>
>
>
>
>
>
> On 1/5/06, Bruce Who <bruce.who.hk at gmail.com> wrote:
> > 很早之前就知道有metaclass,但一直都没弄清它到底是怎么回事,看了IBM developer上的文章,但还是云里雾里,希望群里的同道解释一下啊:
> >
> > 1.什么是metaclass
> > 2.为何要用metaclass
> > 3.最简单的使用方法,如何构造
> > 4.实例,在什么项目或何处使用了
> >
> > 先谢了啊!
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060106/2f04bdae/metaclass.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: metaclass.xml
Type: text/xml
Size: 3177 bytes
Desc: not available
Url : http://lists.exoweb.net/pipermail/python-chinese/attachments/20060106/2f04bdae/metaclass.bin

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月10日 星期二 10:14

Bruce Who bruce.who.hk at gmail.com
Tue Jan 10 10:14:25 HKT 2006

这个文档好偏重metaclass的原理哦,要是有讲最基本的用法的就好。

On 1/6/06, shhgs <shhgs.efhilt at gmail.com> wrote:
> 重新复习了一下,写了一个文档
>
> 主要是粗略地翻译了一下Python in a Nutshell的5.4 metaclass一节,可以算作是读书笔记吧
>
> 希望能有所帮助
>
> On 1/5/06, shhgs <shhgs.efhilt at gmail.com> wrote:
> > 1. 90%的程序员不需要知道metaclass
> >
> > 2. Python in a Nutshell有比较详细的解释
> >
> > 曾经看过,也曾经看懂了,但是一直没机会用,所以忘了
> >
> > 惭愧
> >
> >
> >
> >
> >
> >
> > On 1/5/06, Bruce Who <bruce.who.hk at gmail.com> wrote:
> > > 很早之前就知道有metaclass,但一直都没弄清它到底是怎么回事,看了IBM developer上的文章,但还是云里雾里,希望群里的同道解释一下啊:
> > >
> > > 1.什么是metaclass
> > > 2.为何要用metaclass
> > > 3.最简单的使用方法,如何构造
> > > 4.实例,在什么项目或何处使用了
> > >
> > > 先谢了啊!
> > >
> > > _______________________________________________
> > > python-chinese
> > > Post: send python-chinese at lists.python.cn
> > > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > >
> > >
> >
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月10日 星期二 10:59

shhgs shhgs.efhilt at gmail.com
Tue Jan 10 10:59:46 HKT 2006

mixin

class A(object) :
     pass

class B :
    def f(self) :
        print "B.f()"

A.__bases__ += (B, )

a = A()
a.f()





On 1/9/06, Bruce Who <bruce.who.hk at gmail.com> wrote:
> 这个文档好偏重metaclass的原理哦,要是有讲最基本的用法的就好。
>
> On 1/6/06, shhgs <shhgs.efhilt at gmail.com> wrote:
> > 重新复习了一下,写了一个文档
> >
> > 主要是粗略地翻译了一下Python in a Nutshell的5.4 metaclass一节,可以算作是读书笔记吧
> >
> > 希望能有所帮助
> >
> > On 1/5/06, shhgs <shhgs.efhilt at gmail.com> wrote:
> > > 1. 90%的程序员不需要知道metaclass
> > >
> > > 2. Python in a Nutshell有比较详细的解释
> > >
> > > 曾经看过,也曾经看懂了,但是一直没机会用,所以忘了
> > >
> > > 惭愧
> > >
> > >
> > >
> > >
> > >
> > >
> > > On 1/5/06, Bruce Who <bruce.who.hk at gmail.com> wrote:
> > > > 很早之前就知道有metaclass,但一直都没弄清它到底是怎么回事,看了IBM developer上的文章,但还是云里雾里,希望群里的同道解释一下啊:
> > > >
> > > > 1.什么是metaclass
> > > > 2.为何要用metaclass
> > > > 3.最简单的使用方法,如何构造
> > > > 4.实例,在什么项目或何处使用了
> > > >
> > > > 先谢了啊!
> > > >
> > > > _______________________________________________
> > > > python-chinese
> > > > Post: send python-chinese at lists.python.cn
> > > > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > > > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > > >
> > > >
> > >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
> >
> >
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月10日 星期二 11:30

Sun Wei helium.sun at gmail.com
Tue Jan 10 11:30:40 HKT 2006

__bases__是父类吧,指的是继承关系;
__class__才是一个对象的"类/类型",指的是类型/实例关系。


在06-1-10,shhgs <shhgs.efhilt at gmail.com> 写道:
>
> mixin
>
> class A(object) :
>     pass
>
> class B :
>    def f(self) :
>        print "B.f()"
>
> A.__bases__ += (B, )
>
> a = A()
> a.f()
>
>
>
>
>
> On 1/9/06, Bruce Who <bruce.who.hk at gmail.com> wrote:
> > 这个文档好偏重metaclass的原理哦,要是有讲最基本的用法的就好。
> >
> > On 1/6/06, shhgs <shhgs.efhilt at gmail.com> wrote:
> > > 重新复习了一下,写了一个文档
> > >
> > > 主要是粗略地翻译了一下Python in a Nutshell的5.4 metaclass一节,可以算作是读书笔记吧
> > >
> > > 希望能有所帮助
> > >
> > > On 1/5/06, shhgs <shhgs.efhilt at gmail.com> wrote:
> > > > 1. 90%的程序员不需要知道metaclass
> > > >
> > > > 2. Python in a Nutshell有比较详细的解释
> > > >
> > > > 曾经看过,也曾经看懂了,但是一直没机会用,所以忘了
> > > >
> > > > 惭愧
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > On 1/5/06, Bruce Who <bruce.who.hk at gmail.com> wrote:
> > > > > 很早之前就知道有metaclass,但一直都没弄清它到底是怎么回事,看了IBM
> developer上的文章,但还是云里雾里,希望群里的同道解释一下啊:
> > > > >
> > > > > 1.什么是metaclass
> > > > > 2.为何要用metaclass
> > > > > 3.最简单的使用方法,如何构造
> > > > > 4.实例,在什么项目或何处使用了
> > > > >
> > > > > 先谢了啊!
> > > > >
> > > > > _______________________________________________
> > > > > python-chinese
> > > > > Post: send python-chinese at lists.python.cn
> > > > > Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> > > > > Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> > > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > > > >
> > > > >
> > > >
> > >
> > > _______________________________________________
> > > python-chinese
> > > Post: send python-chinese at lists.python.cn
> > > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > > Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> > > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> > >
> > >
> > >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
> >
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060110/642c1fe8/attachment-0001.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月11日 星期三 18:44

魏忠 weizhong2004 at gmail.com
Wed Jan 11 18:44:09 HKT 2006

《Python In a Nutshell(2003)》第五章第四节,详细介绍了metaclass.并给出了一个例子,下面的连接是我的翻译

http://wiki.woodpecker.org.cn/moin/MetaClassInPython

错误之处,请多指教

开飞机的舒克
http://www.lvye.org/shuke
msn:weizhong at netease.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060111/9565d3cb/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号