Сценарий Python возвращает функцию не определена ошибка - PullRequest
0 голосов
/ 30 марта 2019

Я пишу класс Python и пытаюсь вызвать функцию из другой функции в классе, но сталкиваюсь с ошибкой. NameError: name 'bobfunction' is not defined.Мой вызов классу работает, даже вызов метода / функции работает.Когда job пытается позвонить bobfunction, я получаю сообщение об ошибке.удаление звонка на bobfunction работает.Итак, как мне вызвать функцию bobfunction из функции job?

class stuff():
    def __init__(self):
        #setup stuff

     def bobfunction(self,junk):
         print("should work")
         return ''

      def job(self,data):
          bobfunction('test data')
          return 'other junk'

Ответы [ 2 ]

2 голосов
/ 30 марта 2019

Запустите его с self.bobfunction("test data")

Python использует ключевое слово self для ссылки на методы класса и переменные того же класса.Это похоже на ключевое слово this на других языках.(Не то же самое, хотя).Если вы в конечном итоге определяете переменную в функции __init__, вы также можете использовать ее с self.variable_name в других функциях.

0 голосов
/ 30 марта 2019

Вы должны попытаться запустить его с помощью stuff.bobfunction (self, "test data") Поскольку bobfunction была расположена в вещи класса, вам нужно написать имя класса перед именем функции.«Я» в скобках должно отправить имя «Я».

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