docstring은 Python에서 함수, 클래스, 메서드, 모듈 등에 대한 설명을 작성하는 표준 방법입니다. 이는 코드의 가독성을 높이고, 다른 개발자들이나 자신이 나중에 코드를 볼 때 쉽게 이해할 수 있도록 돕습니다. Python은 docstring
을 따로 문서화된 문자열로 관리하고, 이를 help()
함수나 IDE에서 볼 수 있게 제공해줍니다.
docstring
은 함수나 클래스 바로 아래에 삼중 따옴표 (""" """
)로 작성합니다. 기본적인 형식은 아래와 같습니다:
def my_function():
"""
함수에 대한 설명을 작성합니다.
이곳에 함수의 목적과 사용 방법을 설명할 수 있습니다.
"""
pass
docstring
은 함수의 첫 번째 줄에 짧은 설명을, 그 아래에 추가 설명을 넣을 수 있습니다.
docstring
의 기본 규칙docstring
예시docstring
def add(a, b):
"""
두 숫자의 합을 구합니다.
:param a: 더할 첫 번째 숫자 (int)
:param b: 더할 두 번째 숫자 (int)
:return: 두 숫자의 합 (int)
"""
return a + b
param
: 매개변수에 대한 설명을 :param <이름>
형식으로 작성합니다. 매개변수의 이름과 타입을 명시합니다.return
: 반환 값에 대해 설명하는 부분입니다. :return
을 사용하여 반환값의 타입과 의미를 설명합니다.docstring
def clickable(selector: str, second: int = 1) -> None:
"""
주어진 CSS 셀렉터에 해당하는 요소가 클릭 가능해질 때까지 기다립니다.
이 함수는 WebDriverWait을 사용하여 최대 `second` 초 동안 요소가 클릭 가능해질 때까지 기다립니다.
만약 요소가 클릭 가능해지지 않으면, 예외가 발생하지 않고 `None`을 반환합니다.
:param selector: 클릭할 요소의 CSS 셀렉터 (str)
:param second: 대기할 최대 시간 (초), 기본값은 1초 (int)
:return: None
:raises TimeoutException: 요소가 클릭 가능해지지 않으면 타임아웃 예외 발생
"""
try:
WebDriverWait(driver, second).until(
expected_conditions.element_to_be_clickable(
(By.CSS_SELECTOR, selector)
)
)
except TimeoutException:
pass
docstring
을 작성할 때 사용하는 스타일은 몇 가지가 있습니다. 가장 일반적으로 사용되는 스타일을 두 가지 소개하겠습니다.
Google 스타일은 매우 직관적이고 간단한 문서화 스타일입니다.
def clickable(selector: str, second: int = 1) -> None:
"""
주어진 CSS 셀렉터에 해당하는 요소가 클릭 가능해질 때까지 기다립니다.
Args:
selector (str): 클릭할 요소의 CSS 셀렉터.
second (int): 대기할 최대 시간 (초). 기본값은 1초.
Returns:
None
Raises:
TimeoutException: 요소가 클릭 가능해지지 않으면 타임아웃 예외 발생.
"""
try:
WebDriverWait(driver, second).until(
expected_conditions.element_to_be_clickable(
(By.CSS_SELECTOR, selector)
)
)
except TimeoutException:
pass
Args
: 매개변수에 대한 설명.Returns
: 반환 값에 대한 설명.Raises
: 함수가 발생시킬 수 있는 예외에 대한 설명.NumPy 스타일은 수학적, 과학적 코드에 많이 사용되며, 함수와 메서드에 대한 문서화에 적합합니다.
def clickable(selector: str, second: int = 1) -> None:
"""
주어진 CSS 셀렉터에 해당하는 요소가 클릭 가능해질 때까지 기다립니다.
Parameters
----------
selector : str
클릭할 요소의 CSS 셀렉터.
second : int, optional
대기할 최대 시간 (초), 기본값은 1초.
Returns
-------
None
Raises
------
TimeoutException
요소가 클릭 가능해지지 않으면 타임아웃 예외 발생.
"""
try:
WebDriverWait(driver, second).until(
expected_conditions.element_to_be_clickable(
(By.CSS_SELECTOR, selector)
)
)
except TimeoutException:
pass
Parameters
: 매개변수에 대한 설명을 type
과 함께 설명합니다.Returns
: 반환 값에 대한 설명.Raises
: 예외에 대한 설명.작성한 docstring
은 help()
함수를 사용하여 언제든지 볼 수 있습니다.
help(clickable)
이렇게 하면, clickable
함수에 작성한 docstring
을 볼 수 있습니다.
docstring
의 장점help()
함수나 IDE에서는 docstring
을 활용해 함수를 더 쉽게 사용할 수 있도록 돕습니다.docstring
작성은 Python에서 코드의 문서화를 표준화된 형식으로 제공하는 중요한 작업입니다.docstring
으로 작성하면 코드의 가독성과 유지보수성을 높이는 데 큰 도움이 됩니다.