Python eval,exac,compile

Posted 缥缈映苍穹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python eval,exac,compile相关的知识,希望对你有一定的参考价值。

# eval 是把字符串类型的数据作为代码进行执行
s = "18+2"
ret = eval(s) # 执行字符串类型的代码
print(ret)

code = input("请输入你要执行的代码:")
ret = eval(code)
print(ret)


s = "{‘name‘:‘alex‘, ‘age‘:18, ‘isMan‘:False}" # 字符串
# # 把字符串类型的代码还原回字典, 列表, 元组
ret = eval(s)  # 侧重的有返回值
print(ret)
print(type(ret))


# exec execute 执行字符串类型的代码, 不能太长. 不能太乱
code = input("请输入你要执行的代码")
exec(code) # 没有返回值. 想要返回值用eval
print(a)   # pycharm报错不一定准


# compile 编译: 把你要执行的代码先预编译. 通过exec和eval可以执行我们的代码

code = ‘‘‘
for i in range(10):
    if i % 2 == 0:
        print(i)
‘‘‘


c = compile(code, "", "exec") # 预加载代码
# exec
exec(c) # 运行代码

# 可以使用complie写一个编程大赛.

  

以上是关于Python eval,exac,compile的主要内容,如果未能解决你的问题,请参考以下文章

eval、exec 和 compile 有啥区别?

在Python中,valexec和 compile 有什么区别?

Python进阶-pickle/eval/exec

Python可执行对象——execevalcompile

Python可执行对象——execevalcompile

python内置函数1