易截截图软件、单文件、免安装、纯绿色、仅160KB

在Python中动态绑定property

 在Python中可以把property动态的绑定的object的继承类中,并且可以定义带有参数的get和set方法。
比如,我们定义了全局变量g,然后通过两个方法来存取g的内容
def get_g(self):
    return g
def set_g(self, _g):
    global g
    g = _g
定义一个object的继承类A:
class A(object):
    pass
然后可以通过setattr把一个property动态的bind到A中:
setattr(A, 'g', property(get_g, set_g))
我们我们可能还要对动态bind做一些定制,比如我们可能有两个全局变量,g1和g2,希望在绑定时动态的决定到底是绑谁,那么我们就可以这么做:
def get_pp(name):
    def get_g(self):
        return globals()[name]
    def set_g(self, _g):
        globals()[name] = _g
    return property(get_g, set_g)
然后可以setattr(A, 'g', get_pp('g1') ),从而把g1关联到的A的‘g’属性。


相关文档:

Python扩展和嵌入

1.Python的扩展
Python扩展是指运用其他语言编写某些功能模块,供Python程序调用,常用的有Python的C扩展和C++扩展。Python扩展的目的主要有两个:一是为了功能需要,另外一个原因是为了性能需要。下面介绍一下在不运用工具的情况下,运用C和C++语言对Python进行扩展的步骤。
扩展的第一步是用C或C++创建一个源程序,然后 ......

学习《Python语言入门》第十章框架与应用

关于框架,之前听得比较多,特别是在CPyG的邮件列表上,不过还没有接触过。
这一章我打算略读,加上这两天身体不适,读得更加略了。
这一章提到的几个框架我听说的有TKinter和SWIG。SWIG搞了一下,TKinter看人家用过,自己还没有用过。对这些框架陌生得很。以后碰上要用了再认真学学。
到现在,对Python算是有些了解了。 ......

Python装饰器

原文:http://www.klipdas.com/blog/?p=python-decorator
python装饰器介绍
Python 2.2中引入的 classmethod() 和 staticmethod() 内置函数,你可以这样调用classmethod():
class A:
def foo(self, y):
print y
foo = classmethod(foo)
也可以这样:
class A:
@classmethod
def foo(sel ......

Python sqlite3和单元测试

 
import os
import unittest # 包含单元测试模块
import sqlite3 as sqlite # 包含sqlite3模块
def get_db_path():
return "sqlite_testdb"
class TransactionTests(unittest.TestCase): # 单元测试第一步: 由TestCase派生类
def setUp(self): # 单元测试环境配置
......

Python有用的模块

http://chardet.feedparser.org/  自动检测编码
http://effbot.org/zone/celementtree.htm  cElementTree
http://github.com/jaybaird/python-bloomfilter bloomfilter
http://docs.python.org/library/threading.html#threading.activeCount threading ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号