Как использовать значение функции в другой функции того же класса - PullRequest
0 голосов
/ 12 апреля 2020
class test():
    def abc():
        a = 5;
        b = 6;
        c = 7;
        return a,b,c
    def defg():
        print('inside defg second function')
        a,b,c = abc()
        return a,b,c

когда я пытаюсь получить к нему доступ a = test (), a.ab c ()

TypeError: ab c () принимает 0 позиционных аргументов, но 1 было дано

1 Ответ

1 голос
/ 12 апреля 2020
class Test():
    def abc(self):
        a = 5
        b = 6
        c = 7
        return a,b,c
    def defg(self):
        print('inside defg second function')
        a,b,c = self.abc()
        return a,b,c

c = Test()
c.defg()

Прежде всего, все методы класса должны иметь self первый параметр. Во-вторых, вам нужно использовать self. в одном методе, если вы хотите вызвать другой метод вашего объекта. И, наконец, лучше называть ваши классы заглавными буквами.

В противном случае вы можете использовать stati c методы в вашем классе, если ваш код не работает с переменными экземпляра:

class Test():
    @staticmethod
    def abc():
        a = 5
        b = 6
        c = 7
        return a,b,c
    @staticmethod
    def defg():
        print('inside defg second function')
        a,b,c = Test.abc()
        return a,b,c

c = Test()
c.defg()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...