Python 언어에서는 함수를 정의할 때 함수 본문에 다른 함수의 완전한 정의가 포함됩니다. 이를 일반적으로 중첩 정의라고 합니다.
인스턴스 1:
def OutFun(): #定义函数OutFun(), m=3 #定义变量m=3; def InFun(): #在OutFun内定义函数InFun() n=4 #定义局部变量n=4 print m+n #m相当于函数InFun()的全局变量 InFun() #OutFun()函数内调用函数InFun()
인스턴스 2:
def InFun(m): n=4 print m+n def OutFun() m=4 InFun(m)
>
예제 2가 먼저 정의합니다. InFun() 함수를 호출한 다음 OutFun() 함수를 다시 정의합니다. 이때 InFun()과 OutFun()은 실제로 OutFun() 함수 내에서 다시 호출됩니다. 예 예 1과 예 2의 중첩 효과는 동일하지만 두 가지 형태가 다릅니다.