用Python進行數據分析-2
阿新 • • 發佈:2018-03-18
gpo div range 局部變量 blog local 數據分析 可選參數 function
函數
-如果你要重復使用相同的或者非常相似的功能,就寫一個函數。
-函數使用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,c
a,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