首頁 >後端開發 >Python教學 >Python 2 的 raw_input() 和 input() 之間有什麼區別以及它們在 Python 3 中如何統一?

Python 2 的 raw_input() 和 input() 之間有什麼區別以及它們在 Python 3 中如何統一?

Barbara Streisand
Barbara Streisand原創
2024-12-16 00:23:11454瀏覽

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

Python 3 中統一raw_input() 和input()

問題: raw🎜>

問題: raw_input(raw_input(什麼區別Python 中的) 和input() 3?

# 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'>
Python 答案:

在 Python 3.x 之前,raw_input() 和 input() 有不同的用途。 raw_input() 以字串形式接收原始使用者輸入,而 input() 以 Python 程式碼形式評估輸入。

# 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
Python 2.x 中的說明:

然而,在 Python 3.x 中,這種區別已被消除。原來的raw_input()被重新命名為input()。先前的 input() 已被刪除,儘管可以使用 eval(input()) 來複製它。

注意: 雖然 eval(input()) 可能會模擬先前的行為input(),在將使用者輸入評估為程式碼時務必小心謹慎。 Eval() 具有固有的安全風險,應謹慎使用。應盡可能優先考慮用於解析使用者輸入的更安全的替代方案。

以上是Python 2 的 raw_input() 和 input() 之間有什麼區別以及它們在 Python 3 中如何統一?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn