# 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的更多相关文章

  1. python eval, exec. compile

    compile 编译某段代码, (将一个字符串编译为字节代码), 以方便重复调用. exec 可以理解为和if, for一样是一个语法声明, 而不是一个函数. 注意globals和locals的含义. ...

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

           Python提供的调用可执行对象的内建函数进行说明,涉及exec.eval.compile三个函数.exec语句用来执行存储在代码对象.字符串.文件中的Python语句,eval语句用来 ...

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

    Python提供的调用可执行对象的内建函数进行说明,涉及exec.eval.compile三个函数.exec语句用来执行存储在代码对象.字符串.文件中的Python语句,eval语句用来计算存储在代码 ...

  4. Python:eval的妙用和滥用

    时间 2014-07-08 13:05:24 CSDN博客 原文  http://blog.csdn.net/zhanh1218/article/details/37562167 主题 Python ...

  5. python——eval()函数

    eval()函数用来执行一个字符串表达式,并返回表达式的值. 语法:eval(expression[, globals[, locals]]) x = 4 print(eval('3 * x'))12 ...

  6. Python eval()函数的用法

    Python eval()函数的用法 eval(str)函数很强大,官方解释为:将字符串str当成有效的表达式来求值并返回计算结果.所以,结合math当成一个计算器很好用. eval()函数常见作用有 ...

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

    python eval函数,将列表样式的字符串转化为列表 >>> str_1 = '[1,2,3,4,5,6]'>>> type(str_1)<type 's ...

  8. Python eval 函数用途

    Python eval 函数用途: eval 函数可将字符串转换成列表,元组和字典 实例如下: 可以把list,tuple,dict和string相互转化. ##################### ...

  9. python补充之进制转换、exec、eval、compile

    目录 eval.exec和compile 1.eval函数 2.exec函数 eval()函数和exec()函数的区别 python中的进制转换 eval.exec和compile 1.eval函数 ...

随机推荐

  1. 漏洞复现——tomcat远程代码执行漏洞

    漏洞描述: 当存在该漏洞的Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT请求方法,攻击者可通过构造的攻击请求向服务器上传包含任意代码的 JSP 文件,造成任意代码执行 影响范 ...

  2. php curl 并发

    1.比较普通的curl 请求 $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页 curl_seto ...

  3. Git冲突:commit your changes or stash them before you can merge.

    用git pull来更新代码的时候,遇到了下面的问题: error: Your local changes to the following files would be overwritten by ...

  4. Cassandra标准列和超级列

    列(column)是Cassandra数据模型中的最基本的数据结构单元.列是一个由列名(key).值(value).时间戳(timestamp)构成的三元组.在关系型数据库中,你需要先定义列的名称和和 ...

  5. zkw线段树模板题

    学了zkw线段树,觉得没什么必要刷专题的吧(切不动啊).. 那先放一个模板题吧(我绝不会和你说搬了一道树状数组模板题的!!!) 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加 ...

  6. codepen素材 coffeeScript -> JavaScript

    将coffeeScript代码复制到下面的网址进行转换: http://js2.coffee/

  7. Oracle11g版本中未归档隐藏参数

    In this post, I will give a list of all undocumented parameters in Oracle 11g. Here is a query to se ...

  8. ifcfg-eth配置详解(CentOS6)

    1.基本配置形式 1.1 动态IP基本配置 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=dhcp DEVICE--网卡名,要与ifcfg-ethx中的 ...

  9. nc(netcat)扫描开放端口

    探测单个端口是否开放可以用telnet,专业探测端口可以用Nmap,而对于非渗透用途的Linux可以直接用netcat. 1.使用netcat探测端口是否开放 nc -z -v - #z代表不交互要不 ...

  10. dvwa安装、配置、使用教程(Linux)

    一.搭建LAMP环境 首先搭建好LAMP环境,如没配好参见“Linux+Apache+MySQL+PHP配置教程” 或者使用官方推荐的XAMPP:https://www.apachefriends.o ...