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.>