NameError: имя 'self' не определено

Вы взглянули на Microsoft Robotics Studio? http://msdn.microsoft.com/en-us/robotics/default.aspx

Это допускает визуальное программирование (VPL): http://msdn.microsoft.com/en-us/library/bb483047.aspx , а также современные языки, такие как C#. Я поощряю Вас, по крайней мере, смотреть на учебные руководства.

133
задан Elazar 26 October 2016 в 11:28
поделиться

2 ответа

Значения аргументов по умолчанию оцениваются во время определения функции, но self является аргументом, доступным только во время вызова функции. Таким образом, аргументы в списке аргументов не могут ссылаться друг на друга.

Обычно для аргумента по умолчанию используется значение Нет и добавляется проверка для этого в коде:

def p(self, b=None):
    if b is None:
        b = self.a
    print b
142
ответ дан 24 November 2019 в 00:03
поделиться

Для случаев, когда вы также хотите иметь возможность установить для 'b' значение Нет:

def p(self, **kwargs):
    b = kwargs.get('b', self.a)
    print b
16
ответ дан 24 November 2019 в 00:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: