1. 程式人生 > >[TimLinux] Python 函數

[TimLinux] Python 函數

pytho 匿名 sta 區別 static 定義 ati 其他 閉包

1. 函數(function)與方法(method)的區別

方法:在類結構體中通過def語句聲明的代碼塊稱為方法,比如類方法(classmethod),實例方法,靜態方法(staticmethod)等。

函數:其他場景通過def語句聲明的代碼塊稱為函數,比如內建函數,全局函數等。

2.函數的定義

2.1. 匿名函數

func_name1 = lambda arg1, arg2: arg1 + arg2
print(func_name1(1,2))

2.2. 無參數函數

def func_name2():

print("In func_name2")

2.3. 位置參數函數

def func_name3(arg1, arg2):

x = arg1 + arg2

print(arg1, "+", arg2, "=", x)

2.4. 變長參數函數

def func_name4(*args):

for arg in args:

print(arg)

func_name4(1,2,3) # output: 1, 2, 3

func_name4(*[4,5,6]) # output: 4, 5, 6

func_name4(*(7,8,9)) # output: 7, 8, 9

a = [1,2,3]
func_name4(a) # output: [1,2,3] --
func_name4(*a) # output: 1 --, 2 --, 3 --

2.5. 關鍵字參數函數

def func_name5(name, age):

print(name, age)

func_name5(‘Tim‘, 22)

func_name5(‘Tim‘, age=22)

func_name5(name=‘Tim‘, age=100)

2.6. 變長關鍵字參數函數

def func_name6(**kwargs):

for k in kwargs:

print(k, kwargs[k])

func_name6(name=‘Tim‘, age=100)

func_name6(name=‘Tim‘, age=100, sex="Male")

3. 函數閉包

<T.B.D.>

[TimLinux] Python 函數