我正在学习python。我创建了一个包含2种方法的类可视化工具。现在,我想在第二个方法中调用第一个方法。我读过我必须使用自我:
def method2(self):
self.method1()
Run Code Online (Sandbox Code Playgroud)
这可行。现在,我添加了其他参数:
def method2(self, param1, param2, param3):
self.method1()
Run Code Online (Sandbox Code Playgroud)
我从我的电话main.py:
xx.method2(param1, param2, param3)
Run Code Online (Sandbox Code Playgroud)
现在我得到一个错误:
missing 1 required positional argument: 'param3'
Run Code Online (Sandbox Code Playgroud)
我检查了一下,param3在那儿,参数的顺序是一样的。我认为这与冲突self。
我该如何解决?我的班级需要init方法吗?
编辑:在我的主要:
from project.visualizer import Visualizer
vsl = Visualizer
vsl.method2(param1, param2, param3)
Run Code Online (Sandbox Code Playgroud)
vsl = Visualizer
Run Code Online (Sandbox Code Playgroud)
这不会创建Visualizer您想要的实例。如所写,它导致vsl指向Visualizer类而不是类的实例。打电话时vs1.method2()就好像您已经写过:
Visualizer.method2(param1, param2, param3)
Run Code Online (Sandbox Code Playgroud)
它应该是:
vsl = Visualizer()
Run Code Online (Sandbox Code Playgroud)
如果Visualizer的构造函数接受参数,则将其传入。
| 归档时间: |
|
| 查看次数: |
1416 次 |
| 最近记录: |