Насколько я понимаю, chr (event.Ascii) используется для преобразования значений ASCII нажатий клавиш в действительные значения символов. Почему мы делаем это дважды: chr (event.Ascii) logging.log (10,CHR (event.Ascii)).Разве строка: chr (event.Ascii) здесь избыточна.
Да, вы правильно поняли.И это было бы бесполезно, даже если бы оно не было избыточным - это просто оператор выражения, который оценивает выражение без побочных эффектов и ничего не делает с результатами, поэтому он не имеет никакого эффекта, кроме как тратить немного процессорного времени.
Когда вы найдете случайный код где-то в Интернете, нет гарантии, что это блестящий код.
Может быть, автор получал странные значения и решил, что ему нужно иметь возможность установить точку останова прямо передили после этого chr
вызова, чтобы они переместили его на свою собственную линию.Или получить исключение, и не знал, как определить, пришло оно из chr
или log
.Конечно, либо они должны были тогда сделать s = chr(event.Ascii)
, а затем использовать его в logging.log(10, s)
или что-то в этом роде, но, возможно, это была просто быстрая и грязная вещь, которую они просто забыли вернуть.
Или, может быть, авторзнает меньше о Python, чем вы, или идиот, или просто платят по тому, сколько раз они называют встроенными.Кто знает?