【发布时间】:2018-04-29 16:30:35
【问题描述】:
我正在学习 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)
【问题讨论】:
-
确保您调用的是实例的方法而不是类的方法。 Python中也有类方法。
-
什么是
xx?它是您班级的一个实例吗?您需要提供一个竞争示例:类、如何创建类的实例以及如何调用方法。 -
不,您不需要
__init__,但您确实需要创建该类的实例,以便正确调用该方法。
标签: python python-3.x