計算機程式設計中,會經常涉及輸入輸出(IO,Input/Output)。提供IO功能的裝置就是輸入輸出裝置,比如,鍵盤、滑鼠就是典型的輸入裝置,顯示器就是典型的輸出裝置。程式在執行過程中,資料儲存在記憶體中,但有時候它需要使用者透過輸入裝置把資料(比如,密碼)傳遞給程式;也有時候,程式需要把執行的結果資料輸出給使用者,這可能是列印到顯示器,也可能是寫到磁碟檔案中。
程式設計時,關於IO有兩個基本概念:標準輸入(stdin)和標準輸出(stdout)。標準輸入和輸出都是對於命令列程式設計(非圖形化介面)的,簡單來說,stdin就是在命令列透過敲打鍵盤輸入,stdout就是列印到顯示器。
Python語言提供了方便的輸入(input())和輸出(print())函式。
輸入函式 input()
程式在執行過程中,如何接收使用者的鍵盤輸入呢?那就是透過input()函式,我們先來看一個例子:
In [6]: a = input('請輸入你的年齡:')
請輸入你的年齡:18
In [7]: print(type(a))
<class 'str'>
這個例子中,請輸入你的年齡:
就是讓使用者輸入前給的提示,input()
函式返回接收到的鍵盤輸入,並且是一個字串
,這一點非常重要,雖然我們知道,年齡應該是一個數字,但是input返回的是字串,你要根據需要轉變為整數:a = int(a)
。
關於input()
函式,我們可以詳細瞭解它的說明:
In [5]: input?
Signature: input(prompt=None, /)
Docstring:
Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a
trailing newline before reading input.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
Type: builtin_function_or_method
輸出函式 print()
這個print函式,我們已經接觸過很多了,在程式執行過程中,我們使用print
把必要的資料列印到顯示器(stdout),以便我們檢視程式狀態、資料結果等等,這在Python程式的debug過程中很有用。
我們先類看看print函式的說明:
In [8]: print?
Docstring:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
Type: builtin_function_or_method
print函式是一個可變引數函式,也就是說,它可以列印若干個變數,比如print(1), print(1, 2, 3)
。它的定義有四個預設引數:
sep=' '
表示被列印的若干個變數之間用空格隔開;end='\n'
表示列印完畢會自動多列印一個換行符;file=sys.stdout
表示預設輸出到標註輸出裝置(顯示器),利用該引數我們也可以列印到檔案中;flush=False
預設不強制重新整理到輸出裝置。
下面我們看看print()
函式的使用例子:
In [23]: print(1, 2, 3)
1 2 3
In [24]: print(1, 2, 3, sep=';')
1;2;3
In [25]: print(1, 2, 3, sep=';', end='|')
再看看如何把資訊print
到檔案中:
In [30]: f = open('z.log', 'w')
In [31]: print('猿人學Python', file=f)
In [32]: f.close()
In [33]: cat z.log
猿人學Python
總結
(1)標註輸入函式input()
讓我們的程式從鍵盤獲得輸入資料;
(2)標註輸出函式print()
讓我們的程式把資料列印到顯示器;
練習
(1)寫一段程式從鍵盤獲取字串、整數、浮點數;
(2)練習print()
函式的各個引數的使用。
我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。
***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***