標籤:return關鍵字 命名 分析 oca 不同 gpo 選擇性參數 代碼 建立
函數
-如果你要重複使用相同的或者非常相似的功能,就寫一個函數。
-函數使用def關鍵字聲明,用return關鍵字傳回值
def my_function(x, y, z=1.5): if z > 1: return z * (x + y) else: return z / (x + y)
-如果到末尾都沒有return,則返回None
-函數可以有位置參數和關鍵字參數,關鍵字闡述通常用於指定預設值或者選擇性參數,在上面的代碼中x和y是位置參數,而z是關鍵字參數,可以用下面的兩種方法調用
a = my_function(5,6,z=0.7)c = my_function(5,6,0.7)d = my_function(4,8)
-關鍵字參數必須位於位置參數之後(如果有位置參數),可以以任意順序指定關鍵字參數
*筆記:也可以用關鍵字參數傳遞位置參數。前面的例子可以寫成
c = my_function(x=5,y=6,z=0.7)
命名空間、範圍,和局部變數
-函數樂意訪問兩種不同範圍的變數:全域變數(global)和局部變數(local)。
-python叫做命名空間
-如下函數
def func(): a = [] for i in range(5): a.append(i)
-調用func之後,首先會建立出空列表a,然後添加5個元素,a會在該函數退出的時候被銷毀
-假如我們像下面那樣定義a
a = []def func(): for i in range(5): a.append(i)
-雖然可以在函數中對全域變數進行賦值操作,但是那些變數必須用global關鍵字聲明成全域變數才可以
global a
返回多個值
def f(): a = 5 b = 6 c = 7 return a,b,ca,b,c = f()print(a)print(b)print(c)
-上面代碼返回的是一個三元元組
-也可以寫下面的代碼,返回一個字典
def f(): a = 5 b = 6 c = 7 return {"a":a,"b":b,"c":c}a= f()print(a)
用Python進行資料分析-2