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

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