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 |