Python论坛  - 讨论区

标题:[python-chinese] 请问Python的"动态"特性体现在哪些方面?有什么用处?

2006年02月21日 星期二 11:13

ajax chelsea ajaxchelsea at gmail.com
Tue Feb 21 11:13:21 HKT 2006

刚开始学习写简单的程序,感觉不到"动态"及"动态"的好处,所以有此一问
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060221/60f2812a/attachment.html

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

2006年02月21日 星期二 12:08

limodou limodou at gmail.com
Tue Feb 21 12:08:17 HKT 2006

On 2/21/06, ajax chelsea <ajaxchelsea at gmail.com> wrote:
> 刚开始学习写简单的程序,感觉不到"动态"及"动态"的好处,所以有此一问

这是一个不大不小的问题,有些你已经用到了可能不知道。比如:

a = 1
a = 'b'

即变量的类型在赋值时实现了绑定。因此:

def f(a):
    a可能是任意的类型,这样的处理可以非常灵活。比如你需要一个文件参数,可以是一个字符串表示文件名,也可以是一个文件对象。这就是动态的好处。

还有你可以根据某种约定动态的取得对象的属性和方法,比如:

get_function(obj, name):
    return getattr(obj, 'set_' + name)

上面的函数将返回一个以set打头的函数,但函数是根据你提供的名字来查找的。而你并没有直接调用这个函数。这样,通过这种机制可以非常方便地实现框架的功能,或分配器等。

类似的例子非常多,只要你留心随处可见。而NewEdit则更是大量地使用了这种动态特性。一个类在编写时不是存在于一个文件中,可能是这个文件有几个类方法,那个文件有几个类属性。然后通过动态绑定在运行时变成完整的类。这是一种分布式类编程的方法。

自已多多留心吧。

--
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年02月21日 星期二 13:09

风向标 vaneoooo at gmail.com
Tue Feb 21 13:09:31 HKT 2006

>
>
> NewEdit则更是大量地使用了这种动态特性。一个类在编写时不是存在于一个文件中,可能是这个文件有几个类方法,那个文件有几个类属性。然后通过动态绑定在运行时变成完整的类。这是一种分布式类编程的方法。



limodou兄
这些是属于软件工程学里面的吗?
从来没有想过应用程序开发方面的东西
对我而言那个太庞大了,呵呵,不能胜任
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060221/1d279819/attachment.html

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号