Поскольку Гвидо ван Россум, создатель Python, считает, что префиксная нотация в некоторых случаях более читабельна. Здесь - полный ответ. Я собираюсь процитировать некоторые части:
(a) Для некоторых операций префиксная нотация выглядит лучше, чем
postfix - префиксные (и инфиксные!) операции имеют давнюю традицию
математика, которая любит обозначения, где визуальные эффекты помогают
математик думает о проблеме. Сравните легкость, с которой мы
переписать формулу типа x * (a + b) в x a + x b до неуклюжести
делать то же самое, используя необработанную запись ОО.
(b) Когда я читаю код, который говорит len (x), я знаю , что он запрашивает
длина чего-то. Это говорит мне о двух вещах: результат
целое число, а аргумент является своего рода контейнером. Иначе,
когда я читаю x.len (), я уже должен знать, что х является своего рода
контейнер, реализующий интерфейс или наследующий от класса,
имеет стандартную длину (). Засвидетельствуйте беспорядок, который мы иногда имеем когда
класс, который не реализует отображение, имеет get () или keys ()
метод, или что-то, что не является файлом, имеет метод write ().
Говоря то же самое по-другому, я вижу 'len' как встроенный
работа . Я бы не хотел потерять это. Я не могу сказать точно ли ты
имелось в виду это или нет, но 'def len (self): ...' конечно звучит как ты
хочу понизить его до обычного метода. Я сильно -1 на этом.