Home > Backend Development > Python Tutorial > What's the Difference Between Python 2's `raw_input()` and `input()` and How Are They Unified in Python 3?

What's the Difference Between Python 2's `raw_input()` and `input()` and How Are They Unified in Python 3?

Barbara Streisand
Release: 2024-12-16 00:23:11
Original
453 people have browsed it

What's the Difference Between Python 2's `raw_input()` and `input()` and How Are They Unified in Python 3?

Unifying raw_input() and input() in Python 3

Question: What is the distinction between raw_input() and input() in Python 3?

Answer in Python:

# In Python 2.x:
>>> type(raw_input('What is your name? '))
<type 'str'>

# In Python 3.x:
>>> type(input('What is your name? '))
<type 'str'>
Copy after login

Prior to Python 3.x, raw_input() and input() served distinct purposes. raw_input() received raw user input as a string, while input() evaluated the input as Python code.

Clarification in Python 2.x:

# Python 2.x
# Get user input as a string using raw_input()
name = raw_input('Enter your name: ')

# Evaluate user input as Python code using input()
age = input('Enter your age: ')  # Returns an int
Copy after login

In Python 3.x, however, the distinction has been eliminated. The original raw_input() was renamed to input(). The previous input() has been removed, although it can be replicated by using eval(input()).

Caution: While eval(input()) may simulate the previous behavior of input(), it's important to exercise caution when evaluating user input as code. Eval() has inherent security risks and should be used judiciously. Safer alternatives for parsing user input should be prioritized whenever possible.

The above is the detailed content of What's the Difference Between Python 2's `raw_input()` and `input()` and How Are They Unified in Python 3?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template