вызов @classmethod из другого @classmethod другого класса - PullRequest
0 голосов
/ 23 января 2019

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

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

def herClass(cls, val1, val2):
        return FirstClass.myClass(val1,val2)
0 голосов
/ 23 января 2019

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

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

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