Я пытаюсь создать комплект робототехники. Его конструкция проста, поэтому я использую свойства, поэтому, когда пользователи меняют параметр, метод свойств отправляет последовательную команду, которая управляет моторами/сервоприводами/независимо.Печать с использованием свойств
Это код в данный момент, непосредственно из предыдущего вопроса, который я задал здесь.
class Servo(object):
def __init__(self, which_servo, angle = 0):
self._angle = angle;
self._servo_no = which_servo
def get_angle(self):
return self._angle
def set_angle(self, value):
self._angle = value
print "replace this print statement with the code to set servo, notice that this method knows the servo number AND the desired value"
def del_angle(self):
del self._angle
angle = property(get_angle, set_angle, del_angle, "I'm the 'angle' property.
это инициализируется как таковой:
class robot(object):
def __init___(self):
self.servos = [Servo(0), Servo(1), Servo(2), Servo(3)]
Теперь, это работает в том отношении, что она делает изменить переменную через геттерных и инкубационные функций, однако отпечатки в геттер и сеттер никогда печатается, поэтому, если я заменю его последовательной командой, я предполагаю, что он тоже ничего не сделает, может ли кто-нибудь пролить свет на это?
Благодаря
Обновление: Спасибо за помощь, используя файл серво это случено, есть три сценария первых работ и расширением я предположил бы, что следующие два предпочтительных сценарии будут работать, но они это не делают есть идеи?
Это работает
import servo
class Robot(object):
def __init__(self):
self.servos = [servo.Servo(0, 0), servo.Servo(1,0), servo.Servo(2,0)]
R = Robot()
R.servos[1].angle = 25
Это не делает:
import servo
class Robot(object):
def __init__(self):
self.servos = [servo.Servo(0, 0), servo.Servo(1,0), servo.Servo(2,0)]
R = Robot()
left_servo = R.servos[1].angle
left_servo = 25
Ни делает этот
import servo
class Robot(object):
def __init__(self):
self.servos = [servo.Servo(0, 0).angle, servo.Servo(1,0).angle, servo.Servo(2,0).angle]
R = Robot()
R.servo[1] = 25
Есть ли у python частные классы? т.е.: существует класс (тип), определенный в другом классе, который не знает ни один внешний класс? Я предполагаю, что вы имеете в виду класс с частными переменными здесь? Примечание. Вы проверили, может ли ваша программа успешно выводить любую заявку на печать? (возможно, stdout получил перенаправление?) –