Я просто изучаю классы на Python, и на прошлый день я застрял с приведенным ниже.Beginner Python Classes - изменение значения атрибута с помощью ввода пользователя
Я пытаюсь использовать пользовательский ввод (из функции main()), чтобы изменить значение атрибута в классе.
Я прошел через методы @property и @ name.setter, которые позволяют изменять значение частного атрибута.
Однако я пытаюсь выяснить, как вы можете использовать пользовательский ввод, чтобы изменить значение атрибута, который не является приватным.
Я придумал нижеследующее, но оно, похоже, не работает. Значение атрибута остается неизменным после запуска программы. У вас есть идеи, почему?
class Person(object):
def __init__(self, loud, choice = ""):
self.loud = loud
self.choice = choice
def userinput(self):
self.choice = input("Choose what you want: ")
return self.choice
def choiceimpl(self):
self.loud == self.choice
def main():
john = Person(loud = 100)
while True:
john.userinput()
john.choiceimpl()
print(john.choice)
print(john.loud)
main()
Привет @IliasP, вы подумали об использовании 'raw_input()' вместо вывода? –
Привет @ AndyK - спасибо за быстрый ответ. На самом деле я сделал то, что предложил TimK ниже, и работает отлично. Еще раз спасибо. – IliasP