Python的函数是“一等公民”,因此函数本身也是一个对象,函数既可用于赋值,也可用作其他函数的参数,还可作为其他函数的返回值。
使用函数变量
Python的函数也是一种值:所有函数都是function对象,这意味着可以把函数本身赋值给变量就像把整数、浮点数、列表、元组赋值给变量一样。
当把函数赋值给变量之后,接下来程序也可通过该变量来调用函数。
# !/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2024/01# @Author : Laopi#定义一个计算乘方的函数def pow(base,exponent):result = 1for i in range(1,exponent+1):result*=basereturn result#将pow函数赋值给一个变量叫做myfunc,这个时候myfunc就可以当做pow来使用myfunc = powprint(myfunc(2,4)) #16#定义一个计算面积的函数def area(width,height):return width*height#将area函数赋值给myfunc,这个时候myfunc就可以被当成area使用myfunc = areaprint(myfunc(4,6))# 输出24
从上面代码可以看出,程序依次将 pow(),area()函数赋值给myfunc 变量,接下来即可通过myfunc变量分别调用pow()、area()函数。
通过对myfunc变量赋值不同的函数,可以让myfunc在不同的时间指向不同的函数,从而让程序更加灵活。由此可见,使用函数变量的好处是让程序更加灵活。除此之外,程序还可使用函数作为另一个函数的形参和(或)返回值。