«Ошибка типа: отсутствует 1 обязательный позиционный аргумент» Ошибка экземпляра - PullRequest
0 голосов
/ 05 марта 2019

У меня есть два класса, в первом я создаю экземпляр второго класса и выполняю метод второго класса, который запускает процесс.

t1.py

test = "t1"

def executeBase():
    base = baseNode.BaseNode()
    baseNode.BaseNode.executeBase(test, base) #error

и baseNode.py

class BaseNode():

    def __init__(self):
        self.eui48 = "01:00:00:00:00:00"
        self.port = 7919

    def executeBase(self, test, base):
        #I execute here a process

Я получил ошибку в строке (#error).

  File "/testbench/testbenchPython/test/t1.py", line 20, in executeBase
baseNode.BaseNode.executeBase(test, base)
TypeError: executeBase() missing 1 required positional argument: 'base'

Разве нельзя это сделать? Если да, в чем проблема и как я могу ее исправить? Я пытался передать аргументы по-разному, но я не нашел решения.

Большое спасибо!

Ответы [ 2 ]

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

Вы должны позвонить executeBase в своем экземпляре. Попробуйте это:

def executeBase():
    base = baseNode.BaseNode()
    base.executeBase(test, base)
0 голосов
/ 05 марта 2019

В этом случае

def executeBase(): base = baseNode.BaseNode() baseNode.BaseNode.executeBase(test, base) #error

Я предполагаю, что executeBase () ищет себя! вместо baseNode.BaseNode.executeBase(test, base) #error эта строка может работать base.executeBase(test,base)

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