任何計算機程序都是為了執行一個特定的任務,有了輸入,用戶才能告訴計算機程序所需的信息,有了輸出,程序運行後才能告訴用戶任務的結果。輸入是Input,輸出是Output,因此,我們把輸入輸出統稱為Input/Output,或者簡寫為IO。在Python中raw_input和print是在命令行下面最基本的輸入和輸出。
輸出
用print加上字符串,就可以向屏幕上輸出指定的文字。比如輸出'hello, world',用代碼實現如下:
>>> print 'hello, world'
print語句也可以跟上多個字符串,用逗號“,”隔開,就可以連成一串輸出:
>>> print 'The quick brown fox', 'jumps over', 'the lazy dog'
The quick brown fox jumps over the lazy dog
print會依次打印每個字符串,遇到逗號“,”會輸出一個空格,因此,輸出的字符串是這樣拼起來的:
print也可以打印整數,或者計算結果:
>>> print 300
300
>>> print 100 + 200
300
因此,我們可以把計算100 + 200的結果打印得更漂亮一點:
>>> print '100 + 200 =', 100 + 200
100 + 200 = 300
注意,對於100 + 200,Python解釋器自動計算出結果300,但是,'100 + 200 ='是字符串而非數學公式,Python把它視為字符串,請自行解釋上述打印結果。
輸入
現在,你已經可以用print輸出你想要的結果了。但是,如果要讓用戶從電腦輸入一些字符怎麼辦?Python提供了一個raw_input,可以讓用戶輸入字符串,並存放到一個變量裡。比如輸入用戶的名字:
>>> name = raw_input()
Michael
當你輸入name = raw_input()並按下回車後,Python交互式命令行就在等待你的輸入了。這時,你可以輸入任意字符,然後按回車後完成輸入。
輸入完成後,不會有任何提示,Python交互式命令行又回到>>>狀態了。那我們剛才輸入的內容到哪去了?答案是存放到name變量裡了。可以直接輸入name查看變量內容:
>>> name
'Michael'
什麼是變量?請回憶初中數學所學的代數基礎知識:
設正方形的邊長為a,則正方形的面積為a x a。把邊長a看做一個變量,我們就可以根據a的值計算正方形的面積,比如:
若a=2,則面積為a x a = 2 x 2 = 4;
若a=3.5,則面積為a x a = 3.5 x 3.5 = 12.25。
在計算機程序中,變量不僅可以為整數或浮點數,還可以是字符串,因此,name作為一個變量就是一個字符串。
要打印出name變量的內容,除了直接寫name然後按回車外,還可以用print語句:
>>> print name
Michael
有了輸入和輸出,我們就可以把上次打印'hello, world'的程序改成有點意義的程序了:
name = raw_input()
print 'hello,', name
運行上面的程序,第一行代碼會讓用戶輸入任意字符作為自己的名字,然後存入name變量中;第二行代碼會根據用戶的名字向用戶說hello,比如輸入Michael:
C:\Workspace> python hello.py
Michael
hello, Michael
但是程序運行的時候,沒有任何提示信息告訴用戶:“嘿,趕緊輸入你的名字”,這樣顯得很不友好。幸好,raw_input可以讓你顯示一個字符串來提示用戶,於是我們把代碼改成:
name = raw_input('please enter your name: ')
print 'hello,', name
再次運行這個程序,你會發現,程序一運行,會首先打印出please enter your name:,這樣,用戶就可以根據提示,輸入名字後,得到hello, xxx的輸出:
C:\Workspace> python hello.py
please enter your name: Michael
hello, Michael
每次運行該程序,根據用戶輸入的不同,輸出結果也會不同。
在命令行下,輸入和輸出就是這麼簡單。
raw_input和print是在命令行下面最基本的輸入和輸出,但是,用戶也可以通過其他更高級的圖形界面完成輸入和輸出,比如,在網頁上的一個文本框輸入自己的名字,點擊“確定”後在網頁上看到輸出信息。