0

Python のクラスについて学習しようとしていますが、何かわかりません。この単純な例が「6」を返さないのはなぜですか? 代わりに返します<function TEST.f at 0x00000000029ED378>。私も試してみTEST.f()ましたが、彼は引数selfが欠落していると私に言いました。クラス内に存在するだけでなくself、python が自動的に入力しますか?

#! coding=utf-8

class TEST:
    def __init__(self):
        self.x = 6
    def f(self):
        return(self.x)

print(TEST.f)
4

3 に答える 3

11

クラスのインスタンスを作成する必要があります。

test = TEST()
print test.x()

ただし、メソッドと変数を別のものと呼ぶ必要もあります。

class TEST:
    def __init__(self):
        self._x = 6
    def x(self):
        return(self._x)

それ以外の場合は、の値を再定義していますx

于 2013-08-04T18:13:49.487 に答える
0

示されているように、インスタンスを作成する必要があります。

test = Test()
test.f()
于 2015-03-12T07:11:58.420 に答える