从另一个类的另一个@classmethod调用@classmethod

时间:2019-01-23 04:45:37

标签: python python-3.x class-method

我有两个python文件,

one.py

class FirstClass:
    @classmethod
    def myClass(cls,first, second):
        return first+second

two.py

from one import FirstClass

class SecondClass:
    @classmethod
    def herClass(cls, val1, val2):
        FirstClass.myClass(val1,val2)

ob = SecondClass()
print(ob.herClass(2,3))

如何从另一个类的类方法访问一个类的类方法。如果不可能,可能的解决方案是什么。 FirstClass需要保持不变,我可以灵活地更改SecondClass上的方法类型。

2 个答案:

答案 0 :(得分:2)

可能,但是您错过了此函数的返回

def herClass(cls, val1, val2):
        return FirstClass.myClass(val1,val2)

答案 1 :(得分:0)

只要在return中添加SecondClass.herClass语句,您的实现就没有问题

更正后的代码将如下所示

class SecondClass:
    @classmethod
    def herClass(cls, val1, val2):
        return FirstClass.myClass(val1,val2)