在类的初始化函数中调用类函数出错
本帖最后由 z念念zzzz 于 2021-9-25 22:40 编辑class G():
x = 1
def __init__(self):
print(self.show_result(self.x))
# 调用show_result()函数,打印返回元组。
def show_result(a):
b = a * 2
c = a * 3
return b, c
g = G()
请问以上代码运行后为什么提示 “takes 2 positional argument,but 3 were given”?应该怎么修改才能正常运行?
报错:你传入了2个参数,但是函数需要 3 个参数
在类中,实例方法第一个默认参数是 self,必带 self
其次才是传入的参数,所以你把 show_result 函数前面多就加个 self 即可
所以你代码应修改为:
class G():
x = 1
def __init__(self):
print(self.show_result(self.x))
# 调用show_result()函数,打印返回元组。
def show_result(self, a):
b = a * 2
c = a * 3
return b, c
g = G() Twilight6 发表于 2021-9-25 22:29
报错:你传入了2个参数,但是函数需要 3 个参数
在类中,实例方法第一个默认参数是 self,必带 self ...
谢谢你!解释得非常清楚,太感谢啦!
页:
[1]