내장 데코레이터 (Built-in Decorator)

내장 데코레이터 (Built-in Decorators) 파이썬에는 다양한 내장 데코레이터가 있으며, 이들은 코드를 최적화하고 기능을 확장하는 데 중요한 역할을 한다. @property @property는 메서드를 속성처럼 사용할 수 있게 해주는 데코레이터. getter, setter, deleter 기능을 제공하여 데이터의 캡슐화와 접근 제어를 가능하게 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 class Person: def __init__(self): self._age = 0 @property def age(self): """getter 메서드""" return self._age @age.setter def age(self, value): """setter 메서드""" if value < 0: raise ValueError("나이는 음수일 수 없습니다") self._age = value @age.deleter def age(self): """deleter 메서드""" print("나이 정보가 삭제되었습니다") del self._age # 사용 예시 person = Person() person.age = 25 # setter 호출 print(person.age) # getter 호출 del person.age # deleter 호출 @abstractmethod 추상 메서드를 정의하는 데코레이터. abc(Abstract Base Classes) 모듈과 함께 사용되며, 하위 클래스에서 반드시 구현해야 하는 메서드를 지정할 때 사용. ...

November 24, 2024 · 2 min · Me

Docstring

Docstring python에서 함수, 클래스, 모듈에 대한 문서화를 위해 사용되는 문자열. 이는 코드의 가독성을 높이고 다른 개발자들이 코드를 이해하는 데 도움을 준다. 주요 특징 큰따옴표 세 개(""") 또는 작은따옴표 세 개(’’’)로 둘러싸인 문자열이다. 함수, 클래스, 모듈의 첫 번째 문장으로 위치한다. __doc__ 속성을 통해 프로그램 실행 중에 접근할 수 있다. 내장 함수 help()를 통해 문서를 볼 수 있다. 기능 코드의 목적과 동작을 설명한다. 함수의 매개변수, 반환값, 예외 등을 문서화한다. 모듈이나 클래스의 전반적인 기능을 설명한다. 자동 문서 생성 도구(예: Sphinx)를 통해 API 문서를 생성할 수 있다. 고려해야 할 중요한 점들 일관성: 프로젝트 전체에서 동일한 스타일을 사용해야 한다. 명확성: 설명은 간단하고 명확해야 하며, 예시가 있으면 더 좋다. 완전성: 모든 매개변수, 반환값, 예외 상황을 문서화해야 한다. 최신성: 코드가 변경될 때 Docstring도 함께 업데이트해야 한다. 활용 방법 1 2 3 4 5 6 # Docstring 확인하기 help(google_style) # help() 함수 사용 print(google_style.__doc__) # __doc__ 속성 직접 접근 # 대화형 셸에서 사용 >>> google_style? # IPython/Jupyter에서 자동 문서 생성을 위한 도구들 Sphinx: Python 프로젝트의 표준 문서화 도구. pdoc: 간단한 API 문서를 자동으로 생성한다. MkDocs: Markdown 기반의 문서 생성 도구이다. 각 스타일은 프로젝트의 성격이나 팀의 선호도에 따라 선택할 수 있다. 중요한 것은 프로젝트 내에서 일관성 있게 사용하는 것. 또한, IDE나 문서 생성 도구와의 호환성을 고려하여 선택하는 것이 좋다. ...

November 24, 2024 · 4 min · Me