Вы взглянули на Microsoft Robotics Studio? http://msdn.microsoft.com/en-us/robotics/default.aspx
Это допускает визуальное программирование (VPL): http://msdn.microsoft.com/en-us/library/bb483047.aspx , а также современные языки, такие как C#. Я поощряю Вас, по крайней мере, смотреть на учебные руководства.
Значения аргументов по умолчанию оцениваются во время определения функции, но self
является аргументом, доступным только во время вызова функции. Таким образом, аргументы в списке аргументов не могут ссылаться друг на друга.
Обычно для аргумента по умолчанию используется значение Нет
и добавляется проверка для этого в коде:
def p(self, b=None):
if b is None:
b = self.a
print b
Для случаев, когда вы также хотите иметь возможность установить для 'b' значение Нет:
def p(self, **kwargs):
b = kwargs.get('b', self.a)
print b