반응형
구체적인 클래스 이름을 문자열로 얻는 방법은 무엇입니까? [복제]
이 질문에 이미 답변이 있습니다.
- 인스턴스의 클래스 이름을 얻습니까? 8 답변
많은 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
반응형
'Programming' 카테고리의 다른 글
grep은 어떻게 그렇게 빨리 실행됩니까? (0) | 2020.08.17 |
---|---|
Favicons-모범 사례 (0) | 2020.08.17 |
문자열은 Java에서 객체이므로 'new'를 사용하여 생성하지 않는 이유는 무엇입니까? (0) | 2020.08.17 |
여러 매개 변수와 함께 VaryByParam을 어떻게 사용합니까? (0) | 2020.08.17 |
파일을 grep하고 다음 5 줄을 얻는 방법 (0) | 2020.08.17 |