0

以下のような構造の Tornado アプリケーションがあります。

...

class Application(tornado.web.Application):
    def __init__(self):
        ...

class MyHandler(tornado.web.RequestHandler):
    def get():
        ...

class MyOtherHandler(tornado.web.RequestHandler):
    def post():
        ...

class MyClass(object):
    my_class_variable = {}
    ...

    def my_method_one():
        # access my_class_variable
        ...

    def my_method_two():
        # access my_class_variable
        ...

my_class_variableその中に、カスタム クラス内にクラス変数があります。MyClassこのクラス変数を の外部、たとえばハンドラの 1 つの内部から設定したいと考えています。したがって、私の質問は、Tornado アプリケーションでクラス変数をハンドラーのメソッド内で直接変更することは良い方法ですか? 例えば

MyClass.my_class_variable[key] = value
4

2 に答える 2

0

はい、大丈夫です。多くの場合、ハンドラーはさまざまな方法で他のクラスと対話する必要があります。

于 2012-08-31T05:47:17.617 に答える
0

私には「汚い」ように見えます...特定の問題を知らずに伝えるのは難しいですが、いくつかのクラスレベルの属性を設定するのではなく、必要なパラメーターを渡してメソッドmy_method_oneに渡す方がはるかに簡単でクリーンだと思います。my_method_two

于 2012-08-31T15:23:15.030 に答える