タグ付けされた質問 「python-2.5」


2
__future__ importからabsolute_importは実際には何をしますか?
私がしている答えた私は、私が読んで理解に基づいて考えPythonで絶対的な輸入に関するご質問、Pythonの2.5変更履歴をとそれに付随するPEPを。ただし、Python 2.5をインストールしfrom __future__ import absolute_import、を適切に使用する例を作成しようとしたところ、状況がそれほど明確ではないことに気付きました。 上記のリンクされた変更ログから直接、このステートメントは、絶対的なインポートの変更に関する私の理解を正確に要約したものです。 次のようなパッケージディレクトリがあるとします。 pkg/ pkg/__init__.py pkg/main.py pkg/string.py これはおよびサブモジュールpkgを含むという名前のパッケージを定義します。pkg.mainpkg.string main.pyモジュールのコードを検討してください。ステートメントを実行するとどうなりimport stringますか?Python 2.4以前では、最初にパッケージのディレクトリを参照して相対インポートを実行し、pkg / 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 string.ascii_uppercase …

8
クラスを飾る方法は?
Python 2.5では、クラスを装飾するデコレータを作成する方法はありますか?具体的には、デコレーターを使用してクラスにメンバーを追加し、そのメンバーの値を取るようにコンストラクターを変更します。 次のようなものを探します( 'class 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() …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.