exec和eval
exec和evak都可以执行 字符串类型的代码
evak只能用在你明确知道你要执行的代码是什么
eval 有返回值,——适合有结果的简单计算
exec 没有返回。——适合简单的流程控制
exec( 'print(123)') eval('print(123)') print(eval('1+2+3+4'))#有返回值 print(exec('1+2+3+4'))#没有返回值
例如exec
#应用exec code = '''for i in range(8): print('*'*i)''' exec(code)
complie
将字符串代码进行编译,代码对象能够通过exec语句来执行或者eval来求值。
compile()用法
'''compile(参数:及字符串或者ast对象,'代码文件名称:从文件里面读代码时,否则为空',执行方式:eval或者exec)'''
code1 = '1+2+3' h = compile(code1,'','eval') print(eval(h))
注意在交互式时,需要把exec方式改为single就行。