반응형
구체적인 클래스 이름을 문자열로 얻는 방법은 무엇입니까?
저는 많은 전화를 피하고 싶습니다.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 |