#python
Вопрос:
У меня есть класс с именем knob
, и один из моих методов таков get_click(click)
. Прямо сейчас, когда я вызываю метод get_click(click)
, я должен сначала указать целое значение, чтобы код выполнялся таким образом knob.get_click(5000)
. Как бы я спроектировал эту часть так, чтобы, если я не укажу целое значение get_click(click)
, запуск будет передавать значение по умолчанию и изменяться только при добавлении целочисленного параметра. Я попытался добавить значения по умолчанию в конструктор, но get_click(click)
функция продолжала запрашивать аргумент.
class knob:
def __init__(self, click = "7000", rotateleft="50", rotateright="50"):
self.click = click
self.rotateleft = rotateleft
self.rotateright = rotateright
def get_click(click):
print("G4 " str(click) "rn")
def get_rotateleft(self):
return self.rotateleft
def get_rotateright(self):
return self.rotateright
Комментарии:
1. Вы имели в виду:
def get_click(click=5000):
?
Ответ №1:
def get_click(self, click=5000): # Set Default value for click
print("G4 " str(click) "rn")
Комментарии:
1. Спасибо вам за ваш ответ, который устранил мою проблему. Могу я также спросить, почему вы включили self в качестве одного из аргументов в методе? Похоже, что когда я вынимаю self, т. Е.: def get_click(click=5000), код работает просто отлично и не запрашивает аргумент «self».
2. Первым параметром метода всегда является сам экземпляр, и по соглашению он вызывается
self
.