python之字符串类型代码执行

eval()

执行字符串类型的代码,并返回最终的结果

print(eval("2+2")) #4

exec()

执行字符串类型的代码

exec("""
for i in range(10):
	print(i)
""")

compile()

将字符串类型的代码变异,代码对象能够通过exec语句来执行或者eval()进行求知

'''
参数说明:
	1. resource 要执⾏行行的代码, 动态代码⽚片段
	2. ⽂文件名, 代码存放的⽂文件名, 当传⼊入了了第⼀一个参数的时候, 这个参数给空就可以了了
	3. 模式, 取值有3个,
		1. exec: ⼀一般放⼀一些流程语句句的时候
		2. eval: resource只存放⼀一个求值表达式.
		3. single: resource存放的代码有交互的时候. mode应为single
'''
code1 = "for i in range(10): print(i)"
c1 = compile(code1, "", mode="exec")
exec(c1)
code2 = "1+2+3"
c2 = compile(code2, "", mode="eval")
a = eval(c2)

有返回值的字符串串形式的代码⽤用eval(). 没有返回值的字符串串形式的代码⽤用exec(). ⼀一般很少⽤用
到compile()

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值