1. 擷取使用者輸入
要編寫一個有實際價值的程式,就需要與使用者互動。當然,與使用者互動有很多方法,例如,GUI(圖形使用者介面)就是一種非常好的與使用者互動的方式,不過我們先不討論GUI的互動方式,本節會採用一種原始,但很有效方式與使用者互動,這就是命令列互動方式,也就是說,使用者通過命令列方式輸入資料,程式會讀取這些資料,並做進一步的處理。
從命令列接收使用者的輸入資料,需要使用input函數。input函數接收一個字串類型的參數,用於作為輸入的提示。input函數的傳回值就是使用者在命令列中錄入的值。不管使用者錄入什麼資料,input函數都會以字串形式返回。如果要擷取其他類型的值,如整數、浮點數,需要用相應的函數轉換。例如,字串轉換為整數的函數是int,字串轉換為浮點數的函數是float。
下面的例子要求使用者在命令列中輸入姓名、年齡和收入。其中年齡是整數,收入是浮點數。輸入完這3個值後,會依次在控制台輸出這3個值。由於年齡和收入都是數值,所以在擷取使用者輸入值後,需要分別使用int和float函數將input函數的傳回值分別轉換為整數和浮點數。如果年齡和收入輸入的是非數值,會拋出異常。
name = input("請輸入你的名字:") # 輸入姓名,並把輸入的結果賦給name變數age = int(input("請輸入你的年齡:")) # 輸入年齡,並把輸入的結果賦給age變數salary = float(input("請輸入你的收入:")) # 輸入收入,並把輸入的結果賦給salary變數print("姓名:", name) # 輸出姓名print("年齡:", age) # 輸出年齡print("收入:", format(salary, "0.1f")) # 輸出收入
運行程式,分別輸入姓名、年齡和收入,按斷行符號鍵後,會輸出如所示的內容。
2. 函數
在前面的文章中曾經介紹過使用冪運算子(**)來計算一個數的n次方。事實上,可以用一個函數來代替這個運算子,這個函數就是pow,該函數可以傳入兩個參數,如果要計算x的y次方,那麼pow函數的第1個參數應該是x,第2個參數應該是y。pow函數返回計算結果。例如,下面的代碼計算2的6次方。
result = pow(2,6) # 計算結果:64
像上面這行代碼使用函數的方式叫做函數調用。函數相當於可以重用的程式碼片段,如果在程式中有多處使用這段代碼,就應該將這段代碼放到函數中,這樣既可以實現代碼重用,還會避免代碼冗餘。我們可以想象,如果不使用函數,同樣的代碼出現在程式中的多個地方,一旦要修改這些代碼,那簡直就是噩夢,需要改很多個地方。
Python語言提供了很多內建的函數以及通過模組提供的更多的函數,這些函數可以很大程度上實現代碼複用,例如,abs函數用於擷取數值的絕對值,round函數浮點數取整(四捨五入),cmath模組的sin函數用於計算弧度的正弦。
下面的例子示範了如果使用Python語言內建的函數以及模組提供的函數實現代碼複用。
from cmath import sin # 匯入cmath模組中的sin函數print(pow(2,5)) # 運行結果:32print(abs(-12)) # 運行結果:12print(sin(3.14 / 2)) # 運行結果:(0.9999996829318346+0j)print(round(3.6)) # 運行結果:4print(round(3.4)) # 運行結果:3
程式運行結果如所示。
《Python從菜鳥到高手》開始了,敬請關注
3. 注釋
任何程式設計語言都有注釋的功能。所謂注釋,就是用一段文本描述代碼的作用、代碼的作者或是其他需要描述的東西。注釋在程式編譯時間被忽略,也就是說,注釋只在原始碼中體現,編譯產生的二進位檔案中是沒有注釋的。
在Python語言中,注釋分為單行注釋和多行注釋。單行注釋用井號(#)開頭,多行注釋用3個引號(單引號或雙引號)括起來。如果使用單行注釋,井號後面的所有內容在編譯器時都會被忽略,如果使用多行注釋,被引號括起來的內容在編譯器時都會被忽略。
在使用某些Python IDE時,預設會用ASCII編碼格式儲存原始碼檔案,這時如果原始碼檔案中含有中文,在運行Python程式時就會出錯,這時需要使用注釋標註當前原始碼檔案儲存的編碼格式。
用utf-8編碼格式儲存原始碼檔案
# coding=utf-8
用gbk編碼格式儲存原始碼檔案
# coding=gbk
建議讀者使用utf-8編碼格式儲存原始碼檔案,因為utf8不僅僅能儲存中文,還可以儲存其他國家的文字,如韓文、日文。所以utf-8編碼格式使用更普遍。
下面的例子示範了Python語言中單行注釋、多行注釋的用法
# coding=utf-8 當前Python原始碼檔案以utf-8編碼格式儲存""" 多行注釋(用雙引號括起來)李寧地點:earth"""# 用於計算2的4次冪 單行注釋print(2 ** 4)''' 多行注釋(用單引號括起來)這段代碼用於計算一個運算式的值(1 + 2) * 20'''print((1 + 2) * 20)
《Python從菜鳥到高手》已經出版,開始連載了,購買送視頻課程