我正在学习python。我创建了一个包含2个方法的类可视化工具。现在我想在第二个方法中调用第一个方法。我读过我必须使用自己:
def method2(self):
self.method1()
这很有效。现在我添加了其他参数:
def method2(self, param1, param2, param3):
self.method1()
我从我的main.py
:
xx.method2(param1, param2, param3)
现在我收到一个错误:
missing 1 required positional argument: 'param3'
我检查过,param3就在那里,参数序列是一样的。我认为它与self
冲突。
我该如何解决这个问题?我的课程中是否需要一个init方法?
编辑: 在我的主要:
from project.visualizer import Visualizer
vsl = Visualizer
vsl.method2(param1, param2, param3)
答案 0 :(得分:5)
font-awesome.css
这并不像您想要的那样创建vsl = Visualizer
的实例。如上所述,它会导致Visualizer
指向vsl
类而不是类的实例。当您致电Visualizer
时,就好像您已经写过:
vs1.method2()
应该是:
Visualizer.method2(param1, param2, param3)
如果vsl = Visualizer()
的构造函数接受参数,请将其传递给。
答案 1 :(得分:0)
要调用方法,首先要初始化类。
x = Visualizer()
x.method2(...)