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写一个编程大赛.

  

原文地址:https://www.cnblogs.com/demons97/p/10109743.html

时间: 2024-11-13 08:55:23

Python eval,exac,compile的相关文章

python eval, exec. compile

compile 编译某段代码, (将一个字符串编译为字节代码), 以方便重复调用. exec 可以理解为和if, for一样是一个语法声明, 而不是一个函数. 注意globals和locals的含义. refer to: http://www.cnblogs.com/yyds/p/6276746.html 原文地址:https://www.cnblogs.com/qingyuanjushi/p/8401756.html

Python可执行对象——exec、eval、compile

       Python提供的调用可执行对象的内建函数进行说明,涉及exec.eval.compile三个函数.exec语句用来执行存储在代码对象.字符串.文件中的Python语句,eval语句用来计算存储在代码对象或字符串中的有效的Python表达式,而compile语句则提供了字节编码的预编译. exec的使用 eval的使用        本函数是用来动态地执行一个表达式的字符串,或者compile函数编译出来的代码对象.参数expression是一个表达式字符串,或者表示编译出来代码对

Python可执行对象——exec、eval、compile

Python提供的调用可执行对象的内建函数进行说明,涉及exec.eval.compile三个函数.exec语句用来执行存储在代码对象.字符串.文件中的Python语句,eval语句用来计算存储在代码对象或字符串中的有效的Python表达式,而compile语句则提供了字节编码的预编译. 当然,需要注意的是,使用exec和eval一定要注意安全性问题,尤其是网络环境中,可能给予他人执行非法语句的机会. 1.exec 格式:exec obj obj对象可以是字符串(如单一语句.语句块),文件对象,

Python:eval的妙用和滥用

eval()函数十分强大,官方demo解释为:将字符串str当成有效的表达式来求值并返回计算结果. so,结合math当成一个计算器很好用. 其他用法,可以把list,tuple,dict和string相互转化.见下例子: a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" b = eval(a) b Out[3]: [[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]] type(b) Out[4]: list a = &qu

python eval函数,将列表样式的字符串转化为列表

python eval函数,将列表样式的字符串转化为列表 >>> str_1 = '[1,2,3,4,5,6]'>>> type(str_1)<type 'str'>>>> list_1 = eval(str_1)>>> list_1[1, 2, 3, 4, 5, 6]>>> type(list_1)<type 'list'>>>> 原文地址:https://www.cnbl

Python eval()函数

Python eval() 参数说明 The eval() takes three parameters: expression - this string as parsed and evaluated as a Python expression globals (optional) - a dictionary locals (optional)- a mapping object. Dictionary is the standard and commonly used mapping

Python eval 函数妙用

eval 功能:将字符串str当成有效的表达式来求值并返回计算结果. 语法: eval(source[, globals[, locals]]) -> value 参数: source:一个Python表达式或函数compile()返回的代码对象 globals:可选.必须是dictionary locals:可选.任意map对象 实例展示: 1 可以把list,tuple,dict和string相互转化. 2 ##########################################

python eval()内置函数

python有一个内置函数eval(),可以将字符串进行运行. 通过help(eval)查看帮助文档 Help on built-in function eval in module builtins: eval(source, globals=None, locals=None, /) Evaluate the given source in the context of globals and locals. The source may be a string representing a

内置函数:exec、eval、compile

eval:将字符串内的代码执行,有返回值,用于简单的计算exec:将字符串内的代码执行,没有返回值,用于简单的逻辑判断 均可以读取文件进行执行 info_str = '1+2+3' couunt = eval(info_str) couunt1 = exec(info_str) print(couunt)#返回6 print(couunt1)#无返回值 jud =''' def func(a,b): return a if a>b else b func(1,2) ''' exec(jud)#无