Python Function within function(함수안의 함수)

Function 안의 Function 이란 무엇인지 알아보겠습니다.

함수라고 부르는데 개인적으로 영어문법에 과거분사형 같은 괜히 어려운표현이고 사실 ‘기능’이라는표현이나 그말또한 어색하므로 여기서는 ‘펑션’또는 Function 이라고 부르겠습니다.

간단히 펑션안에 그곳에서만 실행되는 작은펑션이 또 있다고 생각하시면 됩니다.

def hello():

print ‘The hello() function has been executed’

def greet():

return ‘\t this is the greet function’

def welcome():

return ‘\t this is the welcome function’

print greet()

print welcome()

print “Now we are back inside the hello() function”

실행화면

123.PNG

이때 inside 펑션인 greet(), welcome()을 호출하면 에러가 나게됩니다.

123.PNG

Python 아래 설명으로 welcome()펑션은 hello()펑션 밖으로는 정의되지 않았다고합니다.

안에있는 펑션을 밖으로 꺼내서 사용할 수 있게하려면 해당펑션을 Return 해주면 됩니다.

def hello():

print ‘The hello() function has been executed’

def greet():

return ‘\t this is the greet function’

def welcome():

return ‘\t this is the welcome function’

return greet

실행화면

123.PNG

example 이름으로 hello()펑션을 정의했을때 greet()펑션을 리턴받게됩니다.

example = greet() 이되는셈이므로 example()을 실행했을시 greet()의 결과가 출력됩니다.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s