파이썬 내부 함수/중첩 함수
파이썬 내부 함수
def outerFunction(a, b):
def innerFunction(c, d):
return c*d
return innerFunction(a, b)
print(outerFunction(10, 20))
Output:
200
위의 코드에서 외부 함수는 두 개의 정수 인수로 호출되고 외부 함수에는 외부 함수의 인수로 내부 함수를 호출하고 반환하는 내부 함수가 있습니다.
Python의 이 기능은 함수를 캡슐화하는 데 도움이 됩니다.
외부 함수의 외부 범위에서 내부 함수를 호출하려고 하는 경우.
내부 함수를 호출합니다.
def outerFunction(a, b):
def innerFunction(c, d):
return c*d
return innerFunction(a, b)
print(innerFunction(10, 20))
Error:
Traceback (most recent call last):
File ".\sr.py", line 7, in <module>
print(innerFunction(10, 20))
NameError: name 'innerFunction' is not defined
따라서 우리는 내부 기능이 전역 범위에서 캡슐화된다는 결론을 내릴 수 있습니다.
DRY 원칙(자신을 반복하지 마십시오)
내부 기능 기능은 또한 코드 중복을 방지하고 DRY 원칙을 따르는 데 도움이 됩니다.
def wish(name):
def say(Quote):
return f"Good Morning, {name}"
return say(name)
print(wish("HTD"))
Output:
Good Morning, HTD
Python의 내부 함수 범위
Python 내부 함수 또는 중첩 함수는 외부 함수의 변수와 전역 변수에 액세스할 수 있습니다.
text = "Hey"
def wish():
name = "HTD"
def say():
quote = "Good Morning"
return f"{text} {quote}, {name}"
return say()
print(wish())
Output:
Hey Good Morning, HTD
내부 함수 변수에는 해당 함수로만 제한되는 로컬 범위가 있습니다. 내부 함수 변수는 외부 함수 범위에서 액세스할 수 없습니다.
원본 게시물에서 자세히 알아보기: Python Inner Function
Reference
이 문제에 관하여(파이썬 내부 함수/중첩 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/divshekhar/python-inner-function-nested-functions-1dbn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)