파이썬 @classmethod @staticmethod

John Jeong (토론 | 기여)님의 2018년 8월 10일 (금) 00:26 판 (새 문서: ==개요== ;python @classmethod, @staticmethod *파이썬에서 @classmethod와 @staticmethod 차이점 ==일반 메소드== 클래스 이름을 얻는 일반 메소드 예시 <sourc...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요

python @classmethod, @staticmethod
  • 파이썬에서 @classmethod와 @staticmethod 차이점

2 일반 메소드

클래스 이름을 얻는 일반 메소드 예시

class InstanceMethod(object):
    def __init__(self):
        pass

    def get_class_name(self):
        return self.__class__.__name__

IM = InstanceMethod() 
print(IM.get_class_name())
→ 인스턴스 IM 생성후, 생성된 인스턴스 IM으로 get_class_name 메소드 호출

3 @classmethod

class ClassMethod(object):
    def __init__(self):
        pass

    @classmethod
    def get_class_name(cls):
        return cls.__name__

print(ClassMethod.get_class_name())

4 @staticmethod

class StaticMethod(object):

    classname = 'StaticMethod'

    def __init__(self):
        pass

    @staticmethod
    def get_class_name():
        return StaticMethod.classname

print(StaticMethod.get_class_name())

5 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}