gpt4 book ai didi

python - 两部分 : Why doesn't this code call the function I want, 我可以在不为其创建单独函数的情况下执行此操作吗?

转载 作者:行者123 更新时间:2023-11-30 23:33:08 25 4
gpt4 key购买 nike

这是一个较大程序的一部分,应该发生的是 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 而无需在 Score 类中创建单独的函数来执行此操作?

最佳答案

问题是您在类本身上调用 print_points,而不是该类的实例。

尝试

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

对于你的第二个问题:

As for the second part: Is there a way of making printing self.points without making a separate function within the Score class to do so?

你可以这样做

>>> print score.points

关于python - 两部分 : Why doesn't this code call the function I want, 我可以在不为其创建单独函数的情况下执行此操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19092097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com