1. 程式人生 > >python學習之路(二) -- 函數、JSON、終端樣式

python學習之路(二) -- 函數、JSON、終端樣式

blog ade def 數量 通過 等於 name tuple args

函數

函數構成

定義函數:使用def即可
    def __getName(idCard):
        return user_info[idCard].Name    

其中,__getName即函數的名字,包含一個參數idCard
如果需要有返回值,return即可

    def __test():
        print(a)
        return
        print(b)
   
上述函數即不包含返回值,return只是表示函數終止,即僅輸出a

函數調用

調用方式也很簡單:functionName(para_A,para_B....) 

參數

參數類型:
    1、必備參數
    2、關鍵字參數
    3、缺省參數
    4、不定長參數
    
1)必備參數
    必備參數必須以正確的順序傳入函數,調用時的數量必須和聲明時一樣
def __printStr(str):
    print(str)
    調用這個函數,必須要傳入str參數
    

2) 關鍵字參數
即調用函數時,使用關鍵字參數確定傳入的參數,而所謂的關鍵字就是參數名稱,類似必備參數需要寫成__printStr(str = "abc")
其實就等於指定參數傳遞,對於參數較多、且絕大部分參數都有默認值、只需要改變較少的參數時非常有用,與.Net功能類似

3)缺省參數
即參數包含默認值,可傳可不傳
def __printStr(str = "Nobody"):
print(str)
調用這個函數可以使用__printStr()方式,打印Nobody

4)不定長參數
在聲明函數時,不確定參數的數量,即可聲明不定長參數
def __printStr(*args):
for ele in args:
print(ele)

    調用時,可以時__printStr(10,20,30),可以輸出10,20,30
    
def __printStr(**args):
    for eleKey,eleValue in args:
        print(eleKey,":",eleValue)
        
    用兩個星號,與一個星號類似,不過在內部會被看作是
    {a:10,b:20,c:30}
    簡單來說,可以暫時理解為一顆星號會將多個參數作為列表傳入;多顆星號會將多個參數作為字段傳入        

JSON

有默認模塊支持,使用時需要導入json模塊

json關鍵函數

json.dumps : 將Python對象編碼成json字符串
json.loads : 將已編碼的json字符串解碼為Python對象

python原始類型 轉換為 json類型對照表:
Python類型 json類型
dict object
list,tuple array
str,unicode string
int,long,float number
True true
False false
None null
值得註意的是json默認字符集選擇的是utf-8,所以通常不需要修改
還有indent參數,默認為None,在將json字符串寫入到文件中時,通過改動這個參數,可以微微調整一下生成json的樣式,會美觀一些,類似格式化

終端樣式

開發過程中,為了方便調試,可能會在控制臺中輸出一些日誌信息,那麽在繁雜的日誌信息中,如果能夠高亮展示關鍵信息,對使用體驗、效率來說是非常方便的一件事情了,在python中,設置終端展示樣式很有趣:

設置格式:\033[顯示方式;前景色;背景色m
取消設置格式:\033[0m

以下是顏色對照表:

前景色 背景色 顏色
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色

以下是顯示效果:

顯示方式 效果
0 終端默認設置
1 高亮顯示
4 使用下劃線
5 閃爍
7 反白顯示
8 不可見

python學習之路(二) -- 函數、JSON、終端樣式