(1)定义函数与调用函数的顺序
函数被定义后,本身是不会自动执行的,只有在被调用后,函数才会被执行,得到相应的结果。
def plus(a,b):
return a+b
print(plus(1,2))
运行完之后,结果为3。
他的逻辑是:
1、定义一个plus的函数,并给出plus的参数a和b
2、返回的函数值为a+b
3、输出函数plus,并给出plus的参数1和2
4、函数返回的值为1+2=3
注意:在 Python 中我们要注意一个关键点,就是Python不允许前向引用,即在函数定义之前,不允许调用该函数。
(2)递归函数
递归函数是一种调用自身的函数。递归在解决问题中经常使用,例如计算斐波那契数列。
def number(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return number(n-1) + number(n-2)
result = number(5)
print(result) # 输出 5
其逻辑如下所式:
1、定义一个函数number,参数变量为n
2、如果n小于等于0,函数返回0:如果n等于1,函数返回1;如果nn大于1时返回(n-1)+(n-2)
3、将number函数赋值为5,传给result
4、输出result的值
(3)高阶函数
高阶函数是指能够接受函数作为参数或返回函数作为结果的函数。它们可以用于函数的组合、变换和抽象。
def apply(func, x):
return func(x)
square = lambda x: x**2
result = apply(square, 5)
print(result) # 输出 25
其逻辑如下所示:
1、定义一个函数名为apply,参数为func和x\
2、返回func(x)给apply函数
3、定义一个square,并将x进行平方
4、定义一个result,调用apply函数,将5赋值给square
5、func参数为25,apply函数也为25
(4)内联函数
内联函数是一种通过将函数的内容插入到调用处来减少函数调用开销的方法。在Python中,可以使用内联函数的方式是使用内联缓存或使用JIT(即时编译)技术。
from numba import jit
@jit
def add(a, b):
return a + b
result = add(3, 4)
(5)部分函数应用
部分函数应用是一种将函数的部分参数固定并返回一个新函数的方法。这在函数式编程中非常有用。
from functools import partial
def power(base, exponent):
return base**exponent
square = partial(power, exponent=2)
cube = partial(power, exponent=3)
result1 = square(4)
result2 = cube(4)
好了,我们大概能够使用并理解python函数调用了!!!~~>_<~~
 ̄へ ̄
(T_T)