[TimLinux] Python 函數
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 函數