У меня есть следующий код из одного класса:
class _Getch:
def __init__(self):
self.impl = _GetchWindows()
def read_key(self):
return self.impl()
class _GetchWindows:
def __init__(self):
import msvcrt
def __call__(self):
import msvcrt
return msvcrt.getch()
А еще у меня есть еще один класс, который импортировал _Getch. В этом другом классе я попытался использовать ключ read_key, предоставленный _Getch, чтобы делать что-то в условном выражении:
r = _Getch()
key = r.read_key()
print(key)
if key = 'a':
#do things
elif key = 's':
# do other things
else:
continue
Когда я попытался ввести «а», я ожидал, что ключ будет «а», но вместо этого он вернул b «а». Таким образом, ключ не будет выполнять ни одно из условий и всегда будет продолжаться. Почему он вернулся b'a'? Что я могу сделать, чтобы он вместо этого возвращал «а»?