我希望解析关键字参数以确定它们是否也引用类型,例如以下情况:
from inspect import isclass
def convert(converting, **kwargs):
for key, value in kwargs.items():
if value and isclass(eval(key[1:])):
return(eval(key[1:])(converting))
string = "Hello!"
print(convert(string, _list = True))
我很清楚eval
未知字符串存在安全问题,这就是为什么我正在寻找一种更安全的方法来确定关键字名称的类型。
import builtins; isclass(getattr(builtins, 'str'))
根据a_guest在此处的评论,可以通过 来检查内置类型,但我仍然对如何检查其他类感到困惑。也许isclass(getattr(globals(), key[1:]))
?