상위 목록: 하위 목록: 작성 날짜: 읽는 데 9 분 소요

특수 속성(Special attributes)

특수 속성(Special attributes)은 실제 코드의 프로세스에는 거의 포함되지 않지만,

개발 과정이나 디버깅 과정 등에서 유용하게 사용할 수 있는 속성입니다.

정의된 클래스의 상황이나 상태 등을 점검할 수 있습니다.



Special attributes

class Daeheeyun:
    """ Daeheeyun CLASS
    
    Callable types example.
    blah blah..

    To use:
    >>> instance = Daeheeyun(value)

    Args:
        value   : int
    
    Returns:
        null
    """

    def __init__(self, value: int):
        self.value = value

    def func(self) -> int:
        """func : Execute value * 2"""
        return self.value * 2


instance = Daeheeyun(5)

print(instance.__doc__)
print("---------")
print(instance.func.__doc__)
print("---------")
print(instance.func.__name__)
print(instance.func.__qualname__)
print(instance.func.__module__)
print(instance.func.__annotations__)
print(instance.__dict__)
결과
 Daeheeyun CLASS

    Callable types example.
    blah blah..

    To use:
    » instance = Daeheeyun(value)

    Args:
        value : int

    Returns:
        null

———
func : Execute value * 2
———
func
Daeheeyun.func
__main__
{‘return’: <class ‘int’>}
{‘value’: 5}


__doc__ : 설명 주석 호출

__doc__는 함수를 설명하는 데 사용된 주석을 반환합니다.

디버깅 과정에서 직접 모듈을 열어 확인하지 않고도 설명 주석을 확인할 수 있습니다.


__name__ : 함수명 호출

__name__은 함수의 이름 자체를 반환합니다.

모듈을 직접 실행됬을 때, 실행되는 코드인 if __name__ == '__main__':에서 __name__과 의미가 같습니다.

현재 스크립트에서 실행되는 함수모듈명을 출력합니다.


__qualname__ : 함수명과 경로 호출

__qualname__은 함수의 경로를 포함한 이름을 반환합니다.

이를 통해 실행되는 함수클래스어디서부터 실행되는지 확인할 수 있습니다.


__module__ : 정의된 모듈명 호출

__module__은 함수가 정의된 모듈의 이름을 반환합니다.

현재 코드에서 실행시키면, __main__을 반환하며, 다른 곳에서 import하는 경우 모듈의 이름을 반환합니다.

모듈을 직접 실행됬을 때, 실행되는 코드인 if __name__ == '__main__':에서 __main__과 의미가 같습니다.


__annotations__ : 함수의 주석 호출

__annotations__은 함수의 매개변수와 반환값에 정의된 주석(Annotations)을 반환합니다.

함수가 어떤 매개변수와 반환값을 요구하는지 확인할 수 있습니다.


__dict__ : 함수의 주석 호출

__dict__는 현재 인스턴스에 할당된 인스턴스 속성을 출력합니다.

인스턴스의 key 값과 value 값을 확인할 수 있습니다.

댓글 남기기