Mon*_*nic 5 python methods class instance
我是 Python 的新手。我写了两个类,第二个类有第一个类的实例作为成员变量。现在我想通过类一中的实例调用类 2 的方法。我找不到答案。像这样的东西:
class Class1:
    def uselessmethod(self):
        pass
class Class2:
    def __init__(self):
        self.c = Class1()
    def call_uselessmethod(self):
        self.c.uselessmethod()
k = Class2
k.call_uselessmethod() # Error!
给出以下错误:
k.call_uselessmethod() #Error
TypeError: call_uselessmethod() missing 1 required positional argument: 'self'
知道这里发生了什么吗?提前致谢。
小智 5
call_uselessmethod要求Class2在您使用它之前首先有一个实例。但是,通过这样做:
k = Class2
您不是分配k给实例Class2而是分配给它Class2本身。
要创建 的实例Class2,请()在类名后添加:
k = Class2()
k.call_uselessmethod()
现在,您的代码将起作用,因为k指向Class2它应该的实例。