파이썬에서 문자열 'int'
이 주어진다면 유형을 어떻게 얻을 수 있습니까?int
? getattr(current_module, 'int')
을 사용하면 작동하지 않습니다. eval()
와'int'문자열에서 int 유형 가져 오기
1
A
답변
6
int
가의 일부가 아닙니다 현재 모듈의 네임 스페이스. 그것은 __builtins__
네임 스페이스의 일부입니다. 따라서 getattr
을 __builtins__
에 게시합니다.
유형이 맞는지 확인하려면 유형이 type
인지 여부 만 확인하면됩니다. 모든 유형은이 유형에서 파생되기 때문입니다.
>>> getattr(__builtins__, 'int')
<type 'int'>
>>> foo = getattr(__builtins__, 'int')
>>> isinstance(foo, type)
True
1
시도 :
>>>eval('int')
<type 'int'>
하지만 eval()
에게 줄 것을 확신 할; 그것은 위험 할 수 있습니다.
4
제한된 유형의 집합이 필요하다면 사전을 사용하여 이름을 실제 유형에 매핑해야합니다.
type_dict = {
'int': int,
'str': str,
'list': list
}
>>> type_dict['int']('5')
5
+0
"28 초 전 답변"? 좋아. 나는'.get'을 사용하기 때문에 내 대답을 떠난다. *** *** 불평하기 *** –
1
당신이 eval
를 사용하지 않으려면, 당신은 단지 DICT을 입력 문자열에서 매핑을 저장할 수 있고, 그것을보고 :
>>> typemap = dict()
>>> for type in (int, float, complex): typemap[type.__name__] = type
...
>>> user_input = raw_input().strip()
int
>>> typemap.get(user_input)
<type 'int'>
>>> user_input = raw_input().strip()
monkey-butter
>>> typemap.get(user_input)
>>>
관련 문제
- 1. textField에서 int 가져 오기
- 2. 플러그인 가져 오기 UTI 유형 가져 오기
- 3. 일반 컨테이너 유형 가져 오기
- 4. 유형의 유형 가져 오기
- 5. 오브젝트에서 int 값 가져 오기
- 6. Cocoa : Mime 유형 가져 오기?
- 7. Python 가져 오기 유형 감지
- 8. MySQL에서 변수 유형 가져 오기
- 9. Hpricot에서 요소 유형 가져 오기
- 10. .NET 스레드 유형 가져 오기?
- 11. 선택한 요소 유형 가져 오기
- 12. 생성되는 컨트롤러 유형 가져 오기
- 13. BitmapFactory.decodeResource (context, int) 컨텍스트 문자열 가져 오기
- 14. C에서 색인에서 int 배열 값 가져 오기 #
- 15. 개체가없는 멤버 함수의 반환 유형 가져 오기
- 16. 히트 테스트 이벤트 유형 가져 오기
- 17. 모든 버튼 태그 유형 가져 오기
- 18. .NET 유형 가져 오기 인터페이스 선언
- 19. silktest에서 객체의 자식 유형 가져 오기
- 20. 콘텐츠 가져 오기 WCF 응답 유형
- 21. PHP : base64 문자열에서 이미지 유형 가져 오기
- 22. 정적, 일반적인 방법으로 현재 유형 가져 오기?
- 23. 프리미티브, 복합, ArrayEnumerable 유형 가져 오기
- 24. PHP를 통해 MIME 유형 가져 오기
- 25. 마우스 오버시 컨트롤 유형 가져 오기
- 26. "id"유형 객체의 속성 가져 오기 iphone
- 27. DbValidationException에서 정확한 오류 유형 가져 오기
- 28. 게시 유형 페이지가있는 특정 게시물 가져 오기
- 29. C# 페이지 유형 이름 가져 오기?
- 30. Apex에서 Salesforce.com 필드의 데이터 유형 (표시 유형 아님) 가져 오기
문자열은 _ 유형이어야하지만이를 보장 할 수는 없습니다. 문자열로 내장 타입을 얻을 수있는 다른 방법이 없습니까? –