- Python 3 基礎(chǔ)教程(第2版)(慕課版)
- 劉凡馨 夏幫貴
- 597字
- 2020-04-14 15:01:21
2.2 基本輸入和輸出
2.2.1 基本輸入

2.2.1 基本輸入
Python使用input()函數(shù)輸入數(shù)據(jù),其基本語法格式如下。
變量=input(’提示字符串’)
其中,變量和提示字符串均可省略。input()函數(shù)將用戶輸入的內(nèi)容作為字符串返回。用戶按【Enter】鍵結(jié)束輸入,【Enter】鍵之前的全部字符均作為輸入內(nèi)容。指定變量時,變量將保存輸入的字符串,示例代碼如下。
>>> a=input(’請輸入數(shù)據(jù):')
請輸入數(shù)據(jù):'abc' 123,456 "python"
>>> a
'\'abc\' 123,456 "python"'
如果需要輸入整數(shù)或小數(shù),則應(yīng)使用int()或float()函數(shù)轉(zhuǎn)換數(shù)據(jù)類型,示例代碼如下。
>>> a=input(’請輸入一個整數(shù):')
請輸入一個整數(shù):5
>>> a #輸出a的值,可看到輸出的是一個字符串
'5'
>>> a+1 #因為a中是一個字符串,試圖執(zhí)行加法運算,所以出錯
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly
>>> int(a)+1 #將字符串轉(zhuǎn)換為整數(shù)再執(zhí)行加法運算,執(zhí)行成功
6
在輸入數(shù)據(jù)時,可按【Ctrl+Z】組合鍵中斷輸入,如果輸入了其他字符,此時【Ctrl+Z】和輸入的內(nèi)容將作為字符串返回;如果沒有輸入任何數(shù)據(jù),則會產(chǎn)生EOFError異常,示例代碼如下。
>>> a=input(’請輸入數(shù)據(jù):') #有數(shù)據(jù)時,^Z作為輸入數(shù)據(jù),不會出錯
請輸入數(shù)據(jù):1231abc^Z
>>> a
'1231abc\x1a'
>>> a=input(’請輸入數(shù)據(jù):')
請輸入數(shù)據(jù):^Z
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
EOFError
eval()函數(shù)可返回字符串的內(nèi)容,即相當(dāng)于去除字符串的引號,示例代碼如下。
>>> a=eval('123') #等同于a=123
>>> a
123
>>> type(a)
<class 'int'>
>>> x=10
>>> a=eval('x+20') #等同于a=x+20
>>> a
30
在輸入整數(shù)或小數(shù)時,可使用eval()函數(shù)來執(zhí)行轉(zhuǎn)換,示例代碼如下。
>>> a=eval(input(’請輸入一個整數(shù)或小數(shù):'))
請輸入一個整數(shù)或小數(shù):12
>>> a
12
>>> type(a)
<class 'int'>
>>> a=eval(input(’請輸入一個整數(shù)或小數(shù):'))
請輸入一個整數(shù)或小數(shù):12.34
>>> a
12.34
>>> type(a)
<class 'float'>