-1

おそらくばかげた質問です。私はここで同様のスレッドをたくさん読みましたが、まだ答えを理解できません:

main.py で

from userMod import *

class Handler(webapp2.RequestHandler):
    def write(self): #some code here etc

userMod.py で

class signup(Handler):
    def get(self): #some code here etc

Handler が定義されていないというエラーが表示されます。私の単純だが明らかにばかげた質問は、ロードされたモジュール内の親スクリプトからクラスにアクセスするにはどうすればよいですか? それとも、作成する各モジュールで Handler を複製する必要があるだけですか?

私は Python を初めて使用し、特定のタイプの関数 (この場合、私が構築しているサイトのユーザー ログインおよび登録コンポーネント) を分割することによって、コードをよりモジュール化しようとしています。

4

2 に答える 2

1

コードを見ないと断言できませんが、その非常に基本的なスニペットでは、基本的にインポートが逆になっています。@ IgnacioVazquez-Abrams は、一般的なプロセス全体を説明するリンクを提供しました (そして、私ができるよりも間違いなく優れています) が、基本的なレベルでは、各モジュールは独自の名前空間に存在し、他のモジュールを認識しません。彼ら。

したがって、あなたの場合、 をサブクラス化Handlerすると、モジュールはHandler1.) 組み込みではなく、2.) インポートされていないため、何が何であるかわかりません。でこれを試してくださいusermod.py

import main

class signup(main.Handler):
    def get(self): #some code here etc

そして、それがあなたが望むことをするかどうかを確認してください。

于 2012-08-16T07:37:47.600 に答える
1

usermod.py では、メインをインポートする必要があります。その逆ではありません。

于 2012-08-16T07:33:47.227 に答える