Pythonでは、文字列'int'
を指定すると、タイプはどのように取得できますかint
? getattr(current_module, 'int')
を使用しても動作しません。'int'文字列からint型を取得する
1
A
答えて
6
int
はの一部ではありませんあなたの現在のモジュールの名前空間。それは__builtins__
名前空間の一部です。だから、にgetattr
を実行します。
タイプであることを確認するには、すべてのタイプがtype
のインスタンスかどうかを確認するだけです。
>>> getattr(__builtins__, 'int')
<type 'int'>
>>> foo = getattr(__builtins__, 'int')
>>> isinstance(foo, type)
True
1
eval()
で試してみてください:
>>>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. 文字列の最後からintを取得する方法intにint型の文字列が含まれている可能性があります。
- 2. Javaの文字列からintを取得する
- 3. codeigniter文字列からint値を取得する
- 4. System.Data.SQLite型アフィニティint型の文字列
- 5. 他の文字を含む文字列からintを取得するには?
- 6. intを文字列に変換してからintに戻す
- 7. Intの型への文字列のタイプ
- 8. 文字列とint型のメモリアドレスPHP
- 9. Substract文字列 - int型の結果
- 10. 変換文字列int型の
- 11. 文字列とint型連結のC++
- 12. BitmapFactory.decodeResource(context、int)コンテキスト文字列を取る
- 13. コンマでintに型打ち文字列を型変換する
- 14. 文字列から文字列とintを抽出します。
- 15. toantを行う文字列:: size_type + intを取得する
- 16. SQLインジェクションの保護 - 文字列からint型へのキャスト
- 17. 文字列に変換せずにDataRowからint値を取得する
- 18. メインint型(int型の交流、文字** AV)
- 19. DocumentId:文字列かInt?
- 20. C:文字配列からintにコピー
- 21. 文字列からintへの変換
- 22. C#タイプ変換(文字列からint)
- 23. ハスケルintリストから文字列
- 24. タイプ "INT->文字列 - > INT->ブール"
- 25. 文字列をint配列
- 26. どちらの方が速く、int型の文字列かString型ですか?
- 27. textBoxから文字列を取得し、ストアドプロシージャにintとして渡します。
- 28. ハスケルタプルを挿入する文字列を解析する(Int、Int)
- 29. int型/列挙型
- 30. int **から一次元のint配列を素早く取得するには?
文字列はタイプである必要がありますが、それは保証できません。文字列で組み込み型を取得する他の方法はありませんか? –