当前位置 > it书童 > 知识体系 > 正文

局部函数

知识体系 it书童 2019-10-03 21:42:57 0赞 0踩 261阅读 0评论

在函数体内定义的函数称为局部函数

默认情况下,局部函数只能在其封闭函数内有效;如果封闭函数将局部函数返回,且程序使用变量保存了封闭函数的返回值,那么这些局部函数的作用域就会被扩大,程序可以自由地调用它们,就好像它们是全局函数一样

def get_math_func(type, n):
    def square(n):
        return n * n

    def cube(n):
        return n * n * n

    def factorial(n):
        result = 1
        for index in range(2, n + 1):
            result *= index
        return result

    # 调用局部函数
    if type == "square":
        return square(n)
    elif type == "cube":
        return cube(n)
    else:
        return factorial(n)


print(get_math_func('square', 3))  # 9
print(get_math_func('cube', 3))  # 27
print(get_math_func('factorial', 3))  # 6
转载须注明出处:https://www.itshutong.com/articles/13/local-function
关于我
一个文科出身的程序员,追求做个有趣的人,传播有价值的知识,微信公众号主要分享读书思考心得,不会有代码类文章,非程序员的同学请放心订阅
发表评论
我有句话,不知当讲不当讲?
要讲之前请先 登录