Как установить начальное значение для одного из моих методов в классе

#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 .