Вызов @classmethod из другого @classmethod другого класса

У меня есть два файла 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 ответа

Решение

Это возможно, но вам не хватает возврата этой функции

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

В вашей реализации нет ничего плохого, просто добавьте return заявление в SecondClass.herClass

Исправленный код будет выглядеть так

class SecondClass:
    @classmethod
    def herClass(cls, val1, val2):
        return FirstClass.myClass(val1,val2)
Другие вопросы по тегам