这是较大程序的一部分,应该发生的是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类中创建单独的函数来打印self.points?
答案 0 :(得分:3)
问题是你在类本身上调用print_points,而不是该类的实例。
尝试
>>> score = Score(0)
>>> score.print_points()
0
关于你的第二个问题:
关于第二部分:有没有一种方法可以在Score类中创建单独的函数来打印self.points?
你可以做到
>>> print score.points