В чем разница между raw input() и input() в python3.x?



в чем разница между raw_input() и input() в python3.x ?

573   5  

5 ответов:

разница в том, что raw_input() не существует в Python 3.x, в то время как input() делает. На самом деле, старый raw_input() переименован в input(), а старый input() ушел, но может быть легко смоделирован с помощью eval(input()). (Помните, что eval() это зло, так что если попытаться использовать более безопасные способы разбора вашего ввода, если это возможно.)

В Python 2,raw_input() возвращает строку, а input() пытается запустить входные данные в виде выражения Python.

так как получение строки было почти всегда то, что вы хотели, Python 3 делает это с input(). Как говорит Свен, если вы когда-нибудь захотите старого поведения, eval(input()) строительство.

Python 2:

  • raw_input() берет именно то, что пользователь вводит и передает его обратно в виде строки.

  • input() первым берет raw_input() а затем выполняет eval() на нем тоже.

главное отличие в том, что input() ожидает синтаксически корректный оператор python, где raw_input() нет.

Python 3:

  • raw_input() была переименована в input() теперь input() возвращает строку.
  • старый .

если вы хотите использовать старый input(), что означает, что вам нужно оценить пользовательский ввод как оператор python, вы должны сделать это вручную с помощью eval(input()).

В Python 3, raw_input() не существует, о чем уже упоминал Свен.

в Python 2,

Я хотел бы добавить немного больше деталей к объяснению, предоставленному всеми для пользователи python 2. raw_input(), который, к настоящему времени, вы знаете, что оценивает то, что когда-либо данные пользователь вводит в виде строки. Это означает, что python даже не пытается снова понять введенные данные. Все это будет учитывать, что введенные данные будут строкой, независимо от того, является ли это фактической строкой или int или чем-то еще.

пока input() С другой стороны пытается понять, данные вводится пользователем. Так что вход вроде helloworld даже покажет ошибку как'helloworld is undefined'.

В заключение для python 2, чтобы ввести строку тоже нужно ввести его как'helloworld ' которая является общей структурой, используемой в python для использования строк.

Comments

    Ничего не найдено.