當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python input()和raw_input()的區別用法及代碼示例


開發人員經常需要與用戶交互,以獲取數據或提供某種結果。如今,大多數程序都使用對話框來要求用戶提供某種類型的輸入。而Python為我們提供了兩個內置函數來讀取鍵盤輸入。

input()函數

Python input() 函數用於從用戶處獲取值。調用此函數是為了告訴程序停止並等待用戶輸入值。它是一個內置函數。 input()函數在Python 2.x和Python 3.x版本中均使用。在 Python 3.x 中,輸入函數顯式地將您提供的輸入轉換為字符串類型。但Python 2.x輸入函數按原樣接受您輸入的輸入的值和類型,而不修改類型。

Python3 中的示例程序

Python3


# Python program to demonstrate
# input() function in Python3.x
val1 = input("Enter the name: ")
# print the type of input value
print(type(val1))
print(val1)
val2 = input("Enter the number: ")
print(type(val2))
val2 = int(val2)
print(type(val2))
print(val2)

輸入輸出

這裏,值 “python3” 從用戶處獲取並將其存儲在 val1 變量中。僅對於 Python 3.x,輸入函數的存儲值類型始終為字符串。值 “1997” 從用戶處獲取並將其存儲在變量 val2 中。現在,變量 val2 的類型是字符串,我們必須使用 int() 函數將類型轉換為整數。 val2 變量將值 “1997” 存儲為整數類型。

Python2 中的示例程序

Python3


# Python program to demonstrate
# input() function in Python2.x
val1 = input("Enter the name: ")
print(type(val1))
print(val1)
val2 = input("Enter the number: ")
print(type(val2))
print(val2)

輸入輸出

這裏,值 “python3” 從用戶處獲取並將其存儲在 val1 變量中。該函數按原樣獲取您輸入的輸入的值和類型,而不修改類型。 val1中的值類型為字符串類型。值 “1997” 從用戶處獲取並將其存儲在變量 val2 中。現在,變量val2的類型是整數類型。我們不需要顯式更改變量類型。

raw_input()函數

Python raw_input 函數用於從用戶獲取值。我們調用此函數來告訴程序停止並等待用戶輸入值。它是一個內置函數。輸入函數是僅在 Python 2.x 中使用版本。 Python 2.x 有兩個函數來從用戶處獲取值。第一個是輸入函數,另一個是raw_input()函數。 raw_input() 函數與 Python 3.x 中的 input() 函數類似。建議開發者在Python 2.x中使用raw_input函數。因為有一個Python 2.x 版本中輸入函數的漏洞

Python2 中的示例程序

Python3


# Python program to demonstrate
# input() function in Python2.x
val1 = raw_input("Enter the name: ")
print(type(val1))
print(val1)
val2 = raw_input("Enter the number: ")
print(type(val2))
val2 = int(val2)
print(type(val2))
print(val2)

輸入輸出

這裏,值 “python3” 從用戶處獲取並將其存儲在 val1 變量中。對於raw_input 函數,存儲值的類型始終為字符串。值 “1997” 從用戶處獲取並將其存儲在變量 val2 中。現在,變量 val2 的類型是字符串,我們必須使用 int() 函數將類型轉換為整數。 val2 變量將值 “1997” 存儲為整數類型。

讓我們以表格形式看看差異:

input() raw_input()
1. input()函數接受用戶輸入。 raw_input() 函數接受用戶的輸入。
2.

它的語法是-:

輸入(提示)

它的語法是-:

raw_input(輸入)

3. 它隻需要一個提示參數。 它隻需要一個參數,即輸入。
4. 它返回它所接受的輸入。 它的返回類型是字符串。
5. 它通過刪除尾隨換行符將輸入轉換為字符串 python 2.0版本才引入
6. 阻塞直到收到輸入 掛起直到用戶輸入
7. “hello world” “hello world”但是字符串
8. foo 在snake_case


相關用法


注:本文由純淨天空篩選整理自Santhosh220897大神的英文原創作品 Difference between input() and raw_input() functions in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。