본문 바로가기

파이썬

파이썬 classmethod()

728x90

파이썬 3 버전을 사용했습니다.

classmethod()는 클래스의 인스턴스 없이도 호출할 수 있는 메소드입니다. 일반적으로 클래스와 함께 작동하며, 클래스에 의해 생성된 객체 없이 클래스 자체에서 직접 호출할 수 있습니다. classmethod()는 클래스 변수에 접근하거나 수정하는 데 사용될 수 있으며, 모든 인스턴스가 공유하는 값을 갖도록 합니다.

구체적인 예시:

  • 클래스 메소드로 현재 시간 반환하기
  • import datetime
    
    class Time:
        @classmethod
        def current_time(cls):
            now = datetime.datetime.now()
            return now.strftime("%H:%M:%S")
    
    print(Time.current_time())
    # 예시 출력 결과: 10:31:45
    
  • 클래스 메소드로 객체를 생성하고 반환하기
  • class Person:
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
        @classmethod
        def create(cls, name, age):
            return cls(name, age)
    
    person = Person.create('John', 25)
    print(person.name, person.age)
    # 예시 출력 결과: John 25
    
  • 클래스 메소드로 클래스 변수 접근하기
  • class Rectangle:
        width = 10
        height = 5
    
        @classmethod
        def get_area(cls):
            return cls.width * cls.height
    
    print(Rectangle.get_area())
    # 예시 출력 결과: 50
    

활용 및 응용 방법:

classmethod()는 다음과 같은 상황에서 유용하게 활용될 수 있습니다:

  • 객체를 생성하기 전에 필요한 데이터를 검증하거나 처리하는 경우
  • 클래스 변수에 접근하여 공통 데이터를 사용해야 하는 경우
  • 클래스의 메소드를 외부에서 직접 호출하고 싶은 경우

'파이썬' 카테고리의 다른 글

파이썬 complex()  (0) 2023.09.27
파이썬 compile()  (0) 2023.09.27
파이썬 chr()  (0) 2023.09.27
파이썬 callable()  (0) 2023.09.27
파이썬 bytes()  (0) 2023.09.27