【五】字符串类型代码的执行(3)
【五】字符串类型代码的执行(3)
-
eval() 执行字符串类型的代码. 并返回最终结果
s1 = input("请输入a+b:") #输入:8+9 print(eval(s1)) # 17 可以动态的执行代码. 代码必须有返回值 -
exec() 执行字符串类型的代码
s2 = "for i in range(5): print(i)" a = exec(s2) # exec 执行代码不返回任何内容 # 0 # 1 # 2 # 3 # 4 print(a) #None # 动态执行代码 exec(""" def func(): print(" 我是周杰伦") """ ) func() #我是周杰伦 -
compile() 将字符串类型的代码编码. 代码对象能够通过exec语句来执行或者eval()进行求值
code1 = "for i in range(3): print(i)" com = compile(code1, "", mode="exec") # compile并不会执行你的代码.只是编译 exec(com) # 执行编译的结果 # 0 # 1 # 2 code2 = "5+6+7" com2 = compile(code2, "", mode="eval") print(eval(com2)) # 18 code3 = "name = input('请输入你的名字:')" #输入:hello com3 = compile(code3, "", mode="single") exec(com3) print(name) #hello
本文来自博客园,作者:Chimengmeng,转载请注明原文链接:https://www.cnblogs.com/dream-ze/p/17450132.html

浙公网安备 33010602011771号