1. 程式人生 > >用Python進行數據分析-2

用Python進行數據分析-2

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