一、普通函数定义
在Python中,函数是一种可重复使用的代码块,可以接受传递给它的参数并返回一个结果。而一般情况下,我们使用def语句来进行普通函数的定义。
示例:
def add(a, b):
return a+b
result = add(1,2)
print(result)
这里定义了一个add函数,它可以接收两个参数a和b,将它们相加,并通过return语句返回它们的和。在调用add函数时,我们向它传递了参数1和2,它返回了它们的和3,最终被存储在变量result中,并通过print语句输出。
通过这种方式定义函数,我们可以编写大量可复用的代码,使得程序更加简洁和易于维护。
二、Lambda函数
Lambda函数也被称作匿名函数,指的是一种无需使用def关键字即可定义的函数。Lambda函数通常用于一次性的操作场景,可以接受任意数量的参数,但只能返回一个表达式的值。
示例:
add = lambda x,y: x+y
result = add(1,2)
print(result)
这里使用Lambda函数定义了一个add函数,它接受两个参数x和y,将它们相加并返回它们的和。在调用add函数时,我们向它传递了参数1和2,它返回了它们的和3,最终被存储在变量result中,并通过print语句输出。
Lambda函数通常被用于需要一小段简单代码的情况,例如在列表排序、过滤等操作中。
三、装饰器函数
装饰器函数是一种可以用来动态修改函数的行为的函数。它们是一种特殊的函数,可以接受一个函数作为输入,并返回另一个函数作为输出,而这个输出函数通常会在输入函数被调用前或调用后执行一些特定的操作。
示例:
def log(func):
def wrapper(*args, **kwargs):
print('{} is running...'.format(func.__name__))
return func(*args, **kwargs)
return wrapper
@log
def add(a, b):
return a+b
result = add(1,2)
print(result)
这里定义了一个装饰器函数log,它接受一个参数func,表示要被装饰的函数。在函数log内部定义了一个名为wrapper的函数,它接受任意数量的位置参数和关键字参数,并在函数被调用前打印一段信息。然后它调用被装饰的函数,将其传入的参数全部传递给该函数,并返回它的执行结果。
我们在add函数定义的前面使用了一个@log的语法糖。它表示将add函数作为参数传递给log函数,并将它的执行结果重新赋值给add变量。因此,当我们调用add函数时,实际上调用的是经过log装饰过的wrapper函数。
装饰器函数可以让我们在无需修改原函数代码的情况下,对函数的行为进行扩展或修改。它们是Python语言中的一种特殊语法,通常可以用于增加函数的性能、实现权限验证、打印日志等方面。
原创文章,作者:JNDE,如若转载,请注明出处:https://www.506064.com/n/148844.html