簡體   English   中英

從函數名稱獲取內置函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM