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