[英]Get built-in function from the function name
如何從它們的名稱中獲取int(),float(),dict()等可調用對象? 例如,我試圖將Python值保存到xml並將變量類型存儲為字符串。 從字符串轉換回Python類型時,有沒有辦法從字符串獲取可調用對象?
通常,我會做類似getattr(myobj,'str')的操作,但是沒有模塊可以用作這些內置轉換函數的第一個參數。 我也嘗試過getattr(object,'str'),但這也不起作用,因為這些函數不是基本'object'類型的一部分,而只是該語言的全局變量。
通常,我會執行類似
getattr(myobj, 'str')
,但是沒有模塊可以用作這些內置轉換函數的第一個參數。
錯誤的是:
import __builtin__
my_str = getattr(__builtin__, "str")
(在Python 3.x中: import builtins
)
您不需要導入任何東西
vars(__builtins__)['dict']
vars(__builtins__)['float']
vars(__builtins__)['int']
等等
一種快速的方法是從__builtin__
模塊調用它。 例如
>>> import __builtin__
>>> __builtin__.__dict__['str'](10)
'10'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.