Person:
- 파이썬에서 데코레이터를 간략하게 설명하고 초간단 예제를 보여주세요
ChatGPT:
- 데코레이터(Decorator)는 파이썬에서 함수나 클래스를 수정하거나 기능을 추가하기 위해 사용되는 기능입니다. 데코레이터는 기존의 코드를 변경하지 않고도 기능을 추가하거나 수정할 수 있어 코드의 재사용성과 가독성을 높일 수 있습니다. 데코레이터는 함수나 클래스 위에
@데코레이터_함수
와 같은 형태로 사용되며, 해당 함수는 데코레이팅된 함수나 클래스를 인자로 받아 기능을 추가하거나 수정한 뒤 반환합니다.
다음은 더 간단한 예제로 @uppercase
라는 데코레이터를 사용하여 함수의 반환값을 대문자로 변환하는 예제입니다:
1 |
|
위 예제에서 uppercase
데코레이터는 wrapper
라는 내부 함수를 정의하고, 이 함수에서 원래 함수인 greet
를 호출하고 반환값을 대문자로 변환하여 반환합니다. @uppercase
데코레이터를 사용하여 greet
함수를 장식하면, greet
함수의 반환값이 대문자로 변환된 상태로 출력됩니다.
출력 결과:
1 |
|
이처럼 데코레이터를 사용하면 함수나 클래스의 동작을 수정하거나 기능을 추가할 수 있습니다.