Python 데코레이터(Decorator)란 무엇인가?

Decorator 데코레이터 말그대로, 무언가를 꾸며준다고 생각하면 됩니다.

다른말로 하면 포장지와 같다고 생각하면 되는데 코드의 앞과 뒤를 둘러 싸서 표현해준다고 이해하는게 쉽겠습니다.

예제를 통해알아보겠습니다.

데코레이터를 먼저 정의해줍니다.

def new_decorator(func):

def wrap_func():

print ‘Here is before the func’

func()

print ‘Here is after the func’

return wrap_func()

꾸밈을 받을 펑션을 정의합니다.

def fun_needs_something():

print ‘This is the basic code’

두번째 코드를 첫번째 데코레이터에 Attribute로 보내서 실행합니다.

Screen Shot 2016-03-21 at 5.23.45 pm.png

실행화면처럼 fun_needs_somthing() 앞뒤로 포장한것같은 효과를 줍니다.

이것을 파이썬(Python)에서는 @을 써서 지정해주는식으로 간략하게 표현할수있습니다.

@new_decorator

def fun_needs_something():

print ‘This is the basic code’

Screen Shot 2016-03-21 at 5.26.12 pm.png

실행화면처럼 @new_decorator로 포장지의 이름만 지정해주면 이전과같은 결과를 얻을 수 있습니다.

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