0

まず、私はプロのPythonプログラマーではない
ので、本当にばかげた質問をするかもしれません。ご容赦ください...

アイデアは次のとおりです。

class Foo:
    def __init__(self):
        self.myValue = ''
    def function1(self, something):
        self.myValue = something
    def function2(self):
        print self.myValue

foo = Foo()
foo.function1("target") --> I want to store the value "target" in the class and use it later
foo.function2()  --> I want to print out "target"

明らかに、これは本当に間違っていますが、私はそれを修正する方法がわかりません。

道順を教えていただければ幸いです!

4

2 に答える 2

2

@propertyデコレータを確認することもできます。

class Foo(object):

    def __init__(self):
        self._myValue = None

    @property
    def myValue(self):
        print self._myValue
        return self._myValue

    @myValue.setter
    def myValue(self, something):
        self._myValue = something

foo = Foo()
foo.myValue = 10
foo.myValue

これについて詳しくは、Pythonでプロパティ機能を使用する方法に関する実際の例をご覧ください。

于 2013-03-27T03:12:20.800 に答える
1

あなたは近くにいます、ほんの少しのタイプミス。そのfunction2中で言うべきmyValueです:

def function2(self):
    print self.myValue

そして、呼び出すfunction2には、空の括弧のセットを追加します。

foo.function2()
于 2013-03-27T03:05:48.490 に答える