1

これはより大きなプログラムの一部であり、Score.print_points() 行がクラス Score の print_points() 関数を呼び出してから、self.points 変数を出力することが想定されています。

class Score(object):

    def __init__(self, points):
        self.points = points

    def set_score(self):
        self.points = 100

    # This is going to be used for something else   
    def change_score(self, amount):
        self.points += amount

    def print_points(self):
        print self.points

Score.print_points()

ただし、実行すると、次のエラーが発生します。

Traceback (most recent call last):
  File "sandbox.py", line 15, in <module>
    Score.print_points()
TypeError: unbound method print_points() must be called with Score instance as first argument (got nothing instead)

私は専門用語にまったく慣れていませんが、最初の引数として Score インスタンスを呼び出していると思いましたか?

2番目の部分について: Score クラス内で別の関数を作成せずに self.points を印刷する方法はありますか?

4

1 に答える 1

3

問題は、そのクラスのインスタンスではなく、クラス自体で print_points を呼び出していることです。

試す

>>> score = Score(0)
>>> score.print_points()
0

2 番目の質問:

2番目の部分について: Score クラス内で別の関数を作成せずに self.points を印刷する方法はありますか?

あなたはただすることができます

>>> print score.points
于 2013-09-30T10:46:24.470 に答える