Python函数的高级用法
1、Python的函数是“一等公民”,因此函数本身也是一个对象。该函数可用于赋值,作为其他函数的参数,也可作为其他函数的返回值。使用函数变量Python的函数也是值:所有函数都是函数对象,这意味着您可以将函数本身分配给变量,就像为变量分配整数、浮点数、列表和元组一样。函数分配给变量后,程序也可以通过变量调用函数。例如,以下代码:

2、从上面的代码可以看出,程序将pow()和area()函数依次分配给my,接下来,可以使用my_ufun变量分别调用pow()和area()函数。实际上,python已经内置了计算功率的方法,所以这里的pow()函数并没有太大的实际意义,而是用作演示。通过myfun变量分配给不同的函数,可以让myfun在不同的时间指向不同的函数,这使得程序更加灵活。因此,使用函数变量的优点是使程序更加灵活。此外,程序可以将一个函数用作另一个函数的形式参数和/或返回值。使用函数作为函数参数有时需要定义一个函数,该函数的大部分计算逻辑可以确定,但有些处理逻辑暂时无法确定。这意味着一些程序代码需要动态更改。如果要在调用函数时动态输入这些代码,则需要在函数中定义函数参数,以便在调用函数时将不同的函数作为参数传入,以动态更改代码。Python支持像其他参数一样使用函数参数,例如以下程序:

3、上面的程序中定义了一个map()函数。函数的第二个参数是函数类型参数,这意味着每次调用函数时都可以动态传入函数。随着实际输入函数的更改,map()函数中的某些计算代码可以动态更改。接下来的三行粗体代码调用map()函数三次,这三次调用依次作为参数传入square、cube和factorial函数,因此每次调用map()函数时实际执行的代码都是不同的。编译并运行上述程序后,可以看到以下输出结果:

4、作为返回值使用如前所述,python还支持使用函数作为其他函数的返回值。例如,以下步骤:

5、在程序中,定义了一个get函数,该函数返回另一个函数。接下来,在func()函数体中的第①、②、③号粗体代码中分别定义了三个局部函数,最后得到了func()函数根据传入的参数使用三个局部函数中的一个作为返回值。