반응형
    
    
    
  구체적인 클래스 이름을 문자열로 얻는 방법은 무엇입니까?
저는 많은 전화를 피하고 싶습니다.isinstance()함수, 그래서 인스턴스 변수에 대한 구체적인 클래스 이름을 문자열로 얻을 수 있는 방법을 찾고 있습니다.
아이디어 있어요?
 instance.__class__.__name__
예:
>>> class A():
    pass
>>> a = A()
>>> a.__class__.__name__
'A'
<object>.__class__.__name__
또한 클래스 이름이 아닌 클래스 자체를 키로 사용하여 딕트를 만들 수 있습니다.
typefunc={
    int:lambda x: x*2,
    str:lambda s:'(*(%s)*)'%s
}
def transform (param):
    print typefunc[type(param)](param)
transform (1)
>>> 2
transform ("hi")
>>> (*(hi)*)
여기서typefunc각 유형의 함수를 매핑하는 딕트입니다. transform이 함수를 가져와 매개 변수에 적용합니다.
물론, '진짜' OOP를 사용하는 것이 훨씬 나을 것입니다.
언급URL : https://stackoverflow.com/questions/521502/how-to-get-the-concrete-class-name-as-a-string
반응형
    
    
    
  'programing' 카테고리의 다른 글
| 하위 유형 종속성을 제거하는 방법은 무엇입니까? (0) | 2023.07.05 | 
|---|---|
| ESLint: TypeError: this.libOptions.parse가 함수가 아닙니다. (0) | 2023.07.05 | 
| MongoDB Shell - 이름에 마침표가 있는 액세스 컬렉션? (0) | 2023.07.05 | 
| NDF 파일이란? (0) | 2023.07.05 | 
| sql try/message rollback/commit - 롤백 후 잘못된 커밋 방지 (0) | 2023.07.05 |