二、Python函数
1.函数参数
a. 必选参数
1 2 3 4
| def add(x,y): return x+y
add(5,3)
|
b.默认参数
1 2 3 4
| def add(x,y,z=1) return x+y+z
add(5,3)
|
c.可变参数
用法一:
1 2 3 4 5 6 7 8 9
| def add(*numbers): sum = 0 for i in numbers: sum = sum+ i return sum
add() add(1,2) add(2,3,4)
|
用法二:
1 2 3 4 5 6 7 8 9
| def add(*numbers): sum = 0 for i in numbers: sum = sum+ i return sum
a = [1,2,3,4] #这个地方的*a表示数组a的所有元素。 add(*a)
|
d.关键字参数
1 2 3 4 5 6 7 8
| def add(**key): sum =0 for k,v in key.items(): sum+=v return sum
dic = {'age':10,'time':30} add(**dic)
|
2.高阶函数
1 2 3 4 5 6 7 8
| def fun(g,arr): return [g(x) for x in arr]
def double(arr): return 2*arr
arr=[1,23,3] fun(double,arr)
|
3.函数修饰器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import time
def time_i(func): def wrapper(*args,**kwargs): start_time = time.time() result = func(*args,**kwargs) end_time = time.time() print(f"Function {func.__name__} took {end_time - start_time} seconds to run") return result return wrapper
@time_i def add(x,y): return x+y
add(3,4)
|
其实函数的修饰器也很容易理解,他的主要目的,或者说我们主要用它来做什么我们应该理解。他可以不改变我们的函数,然后在我么运行的时候,我们可以更加方便的获取一些运行日志,或者简单的例如上面的只想知道运行的一个时间。