Python 2to3 добавляет дополнительные скобки вокруг функционального аргумента

Я немного сбит с толку, почему 2to3 старается охватить мои аргументы печати, которые уже в функциональном стиле, чтобы обернуть их в дополнительные скобки. Например

print("\t[Warn] Can not connect {}".format(ssid))

становится

print(("\t[Warn] Can not connect {}".format(ssid)))

Это по сути консервативные ложные срабатывания? Я думаю, может быть, в конце ) в формате функция бросает свою логику.

0 ответов

Из документации

Когда передается -p, 2to3 обрабатывает print как функцию, а не как оператор. Это полезно, когда из будущего импорта используется print_function. Если этот параметр не указан, средство печати будет окружать вызовы печати дополнительным набором скобок, поскольку он не может различить оператор печати с круглыми скобками (например, print ("a" + "b" + "c")) и a истинный вызов функции.

2to3 Документы

Другие вопросы по тегам