Mar*_*arc 5 python metaclass python-3.x
在我的项目中,我必须坚持使用Python 2.5(Google App Engine).在应用程序的某个地方(实际上是一个框架),我必须跟踪定义了哪些变量以及定义它们的顺序,换句话说,无论何时处理赋值运算符,我都要拦截.
使用Python 3,我将使用一种__prepare__方法定义元类M,该方法返回一个智能字典,用于跟踪何时访问它.然后我只需要使用元类M执行类语句中的所有内容.
有没有办法在Python 2.5中模拟这个?
我希望实现的目标的例子
使用Python 3的元类方法,我可以实现像引用一样工作的变量,例如M可以这样
# y is a callable
class C(metaclass=M):
x = ref(y)
x = 1
Run Code Online (Sandbox Code Playgroud)
将等效(直到创建C)y(1),即通过黑盒ref函数对C字典中的变量的第一次赋值创建此变量.进一步的赋值只需调用ref函数的参数.
| 归档时间: |
|
| 查看次数: |
805 次 |
| 最近记录: |