В этом руководстве по Python мы обсудим функцию необработанного ввода в Python, а также разницу между raw_input и input в Python.
- Функция raw_input в Python 2.x
- Пример
- Функция input
- Пример
- В Python 3.x
- Пример
- Разница между input и raw_input
- Заключение
Функция raw_input в Python 2.x
В Python 2.x есть встроенная функция raw_input, которая используется для чтения данных от пользователя в виде строки. Это означает, что всё, что вы вводите как входные данные, рассматривается как строка текста.
Синтаксис:
raw_input([prompt])
Подсказка (prompt) — это необязательный параметр, который можно использовать для отображения краткого сообщения перед вводом информации.
Пример
# Python 2.x user_input = raw_input("Enter something: ") print("You entered:", user_input)
В этом примере Python выведет сообщение «Введите что-нибудь:». Всё, что вы введёте после этого, будет сохранено в переменной user_input в виде строки.
Функция input
В Python 2.x функция ввода считывает данные, которые вводит пользователь, и интерпретирует их как выражение на языке Python. Это означает, что введённые данные обрабатываются и выполняются так, как если бы они были кодом на языке Python.
Синтаксис:
input([prompt])
Пример
# Python 2.x user_input = input("Enter a number: ") print("You entered:", user_input, "and its square is:", user_input**2)
В этом примере, если вы введёте число 3, Python 2.x расценит его как целое число и на выходе вы увидите квадрат числа 3.
В Python 3.x
В Python 3.x функция raw_input была удалена, но функция ввода работает аналогично raw_input в Python 2.x. Это означает, что в Python 3.x функция ввода считывает ввод как строку.
Пример
# Python 3.x user_input = input("Enter something: ") print("You entered:", user_input)
Разница между input и raw_input
Вот табличное представление различий между input и raw_input в Python:
Особенность | raw_input (Python 2.x) | input (Python 2.x) | input (Python 3.x) |
---|---|---|---|
Тип возврата | Всегда возвращает строку | Оценивает ввод как код Python | Всегда возвращает строку |
Безопасность | Безопасно, поскольку он не оценивает входные данные | Небезопасно, поскольку он оценивает входные данные | Безопасно, поскольку он не оценивает входные данные |
Вариант использования | Чтение текстовых данных от пользователя | Чтение выражений Python от пользователя | Чтение текстовых данных от пользователя |
Доступность на Python | Доступно в Python 2.x. | Доступно в Python 2.x и 3.x. | Доступно в Python 3.x (ведёт себя как raw_input в Python 2.x) |
Заключение
При работе с Python 2.x для безопасного чтения строк рекомендуется использовать функцию raw_input. Однако стоит быть осторожным с вводом, так как он интерпретирует входные данные как код.
В Python 3.x для чтения строк следует использовать функцию input, поскольку функция raw_input больше не поддерживается.
Я также продемонстрировал разницу между функциями input и raw_input в Python.