python中函式的應用
一. 函式
1. 定義函式
def 函式名稱(引數): #此引數為形參,不是真實存在的
函式需要執行的程式碼塊
return 函式返回值1, 函式返回值2 #如果函式中沒有return,預設返回None,多個返回值實質是一個元組
2. 呼叫函式
函式名稱(引數) #此引數為實參
print 函式名稱(引數) #此引數為實參
var = 函式名稱(引數) #此引數為實參,當函式有返回值時,可以賦值給一個變數
eg:
測試:
3. 傳遞引數
1>必選引數:def num_add(x, y):
2>預設引數:def num_add(x=10, y=10):
注:當實參不填寫時,形參設定預設值,此時輸入的數值操作將以預設為準
3>可變引數: def add(*num):
注:最終num生成的是一個元組,包含使用者輸入的多個值,並且通過元組的方式,將多個返回值封裝在一起
4>關鍵字引數:def info(**other):
總結:當多種引數混合使用時,其引數順序為:必選引數,預設引數,可變引數,關鍵字引數
注:多種引數混合使用,當預設引數賦值後,預設的資料無效,將以實際輸入的為準;且可變引數為元組型別,關鍵字引數為字典型別
###引數檢查###
1. 呼叫函式時,如果引數個數不對,Python 直譯器會自動檢查出來,並丟擲 TypeError
2. 如果引數型別不對,利用內建函式isinstance 實現
檢視某個物件是否是可迭代:
列舉:enumerate
二. 函式中變數的作用域
全域性變數:在整個程式中使用的變數,除非變數名被del,否則在整個程式中一直生效
區域性變數:只在函式的語句範圍內生效
global關鍵字:強制將區域性變數轉換為全域性變數
例項拓展1:
注:
在函式編寫過程中,可以靈活運用空函式和pass語句相結合作為佔位操作,保證程式碼順暢執行之後,再逐個新增所需的內容
例項拓展2:判斷ip是否合法
注:利用成員操作符同樣可以進行判斷