如何检查变量是否是python中的代码对象
我有这个密码-如何检查变量是否是python中的代码对象,python,Python,我有这个密码- code_obj = compile("k=1", "<string>", "exec") code\u obj=compile(“k=1”、“exec”) 如何通过类型比较或使用isinstance检查变量是否为代码对象。您可以检查对象是否为类型的实例。CodeType: import types code_obj = compile("k=1", "<string>", "exec") if isinstance(code_obj, types.C
code_obj = compile("k=1", "<string>", "exec")
code\u obj=compile(“k=1”、“exec”)
如何通过类型比较或使用isinstance检查变量是否为代码对象。您可以检查对象是否为
类型的实例。CodeType
:
import types
code_obj = compile("k=1", "<string>", "exec")
if isinstance(code_obj, types.CodeType):
print('code_obj is a code object')
导入类型
代码_obj=compile(“k=1”,“exec”)
如果存在(代码对象,类型.代码类型):
打印(“代码对象是代码对象”)
演示:由@blhsing给出的答案很好,但如果您不想导入任何新内容,以下内容也会完全相同
code\u obj=compile(“k=1”、“exec”)
代码\类=类型(编译(“,”,“执行”))
如果存在(代码对象,代码类):
打印(“代码对象是代码对象”)
为了确保他们做同样的事情
导入类型
>>>代码\类=类型(编译(“,”,“执行”))
>>>打印(types.CodeType,code\u类)
真的
因此,您可以使用
types.CodeType
或type(compile(…)
作为isinstance(…)
的参数,以正常方式使用type
函数,isinstance(some_object,code)
其中code是代码类,例如code=type(compile('','exec')