Questions tagged «python-2.5»


2
从__future__导入absolute_import实际起什么作用?
我已经回答了有关Python中绝对导入的问题,我认为通过阅读Python 2.5 changelog和随附的PEP可以理解。但是,在安装Python 2.5并尝试制作一个正确使用的示例时from __future__ import absolute_import,我意识到事情还不清楚。 直接从上面链接的更改日志,此语句准确总结了我对绝对导入更改的理解: 假设您有一个像这样的包目录: pkg/ pkg/__init__.py pkg/main.py pkg/string.py 这定义了一个名为的包,pkg其中包含pkg.main和pkg.string子模块。 考虑main.py模块中的代码。如果执行该语句会import string怎样?在Python 2.4和更早的版本,它会先看看在包的目录进行相对进口,发现包装/ string.py,进口该文件的内容pkg.string模块,并且该模块被绑定到名字"string"的pkg.main模块的名称空间。 所以我创建了这个确切的目录结构: $ ls -R .: pkg/ ./pkg: __init__.py main.py string.py __init__.py并且string.py是空的。main.py包含以下代码: import string print string.ascii_uppercase 不出所料,使用Python 2.5运行此命令失败,并显示AttributeError: $ python2.5 pkg/main.py Traceback (most recent call last): File "pkg/main.py", line 2, in <module> print …

8
如何装饰一堂课?
在Python 2.5中,有没有办法创建装饰类的装饰器?具体来说,我想使用装饰器将成员添加到类中,并更改构造函数以获取该成员的值。 寻找类似以下的内容(在“ Foo类:”上存在语法错误: def getId(self): return self.__id class addID(original_class): def __init__(self, id, *args, **kws): self.__id = id self.getId = getId original_class.__init__(self, *args, **kws) @addID class Foo: def __init__(self, value1): self.value1 = value1 if __name__ == '__main__': foo1 = Foo(5,1) print foo1.value1, foo1.getId() foo2 = Foo(15,2) print foo2.value1, foo2.getId() 我想我真正想要的是在Python中执行类似C#接口的方法。我想我应该改变我的范式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.