函数的嵌套

一、函数嵌套的定义

函数内部定义的函数,无法在函数外部使用内部定义的函数。

def f1():
    def f2():
        print('from f2')
    f2()


f2()  # NameError: name 'f2' is not defined
def f1():
    def f2():
        print('from f2')
    f2()


f1()
from f2
通过给一个函数传参即可求得某个圆的面积或者圆的周长
方法一
"""方法一"""
import cmath
def circle(r,num):
    def area():
        return cmath.pi * r ** 2

    def zhouchang():
        return 2 * cmath.pi * r

    if num == 'area':
        return area()

    elif num == 'zhouchang':
        return zhouchang()
    area = circle(3,'area')
print(area)

方法二
"""方法二"""
def circle(r,num):
    if num == 'area':
        return cmath.pi * r **2
    elif num == 'zhouchang':
        return 2 * cmath.pi *r

res = circle(3,'zhouchang')
print(res)

二、函数的嵌套调用

def max2(x, y):
    if x > y:
        return x
    else:
        return y


def max4(a, b, c, d):
    res1 = max2(a, b)
    res2 = max2(res1, c)
    res3 = max2(res2, d)
    return res3


print(max4(1, 2, 3, 4))
4
posted @ 2026-01-24 13:55  Fart*  阅读(0)  评论(0)    收藏  举报