Подтвердить что ты не робот

Pylint говорит: "Ненужные парнеры после ключевого слова% r"

После моего первого CodeReview Q - я получил подсказку в ответ:

Ваш код выглядит для Python 2.x. Чтобы быть более готовым к возможной будущей миграции на Python 3.x, я рекомендую начать писать ваши заявления print... как print (...)

Таким образом, в моем следующем коде (я использую Python 2.6 и 2.7 в своих полях) я всегда () для print:

print('Hello')

Сегодня я впервые проверил свой код с PyLint, и он говорит:

C: 43, 0: ненужные парсеры после ключевого слова "print" (лишние-parens)

Что объясняет здесь.

Итак - действительно ли print(str) действительно неверно, или я могу игнорировать сообщения PyLint?

4b9b3361

Ответ 1

Чтобы сделать pylint осведомленным о том, что вы хотите использовать новый оператор печати и не помещать ошибочные скобки, просто используйте

from __future__ import print_function

в начале вашего script. Это также имеет то преимущество, что вы всегда должны использовать print(...) вместо print .... Соответственно, ваша программа будет бросать SyntaxError, если вы вернетесь к старому синтаксису.

Помните, что это не работает в python 2.5 или старше. Но поскольку вы используете 2.6 и 2.7, проблем не должно быть.

Ответ 2

В Python 3 print - это функция, для которой требуется(). В Python 2 это не так, поэтому родители не нужны.

Если вы перенесите свой код на Python 3 в будущем, хорошо сохранить привычку put().

https://docs.python.org/3.0/whatsnew/3.0.html#print-is-a-function https://www.python.org/dev/peps/pep-3105/

Вероятно, вы используете Python2 pylint, поэтому он бросает это предупреждение, нечего беспокоиться.