1. eval用法:

将字符串str当成有效的表达式来求值并返回计算结果。

2. eval的功能:

  • math当成一个计算器很好用。
  • 将字符串转换为list,tuple,dict。

3. 举例

# -*- coding: utf-8 -*-
import math # 作为计算器使用
print u"获取数字的绝对值:%d" % eval("%d" % math.fabs(-8)) # 将字符串转换为list
list_str = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" print u"list_str:未执行eval,获取第1个元素,期望值:[1,2], 实际值:%s" % (list_str[0])
list_list = eval(list_str)
print u"list_str:已执行eval,获取第1个元素,期望值:[1,2], 实际值:%s" % (list_list[0]) # 将字符串转换为dic。
dict_str = "{1: 'a', 2: 'b'}" print u"dict_str:未执行eval,获取1的值,期望值:a, 实际值:%s" % (dict_str[1])
dict_dict = eval(dict_str)
print u"dict_str:已执行eval,获取1的值,期望值:a, 实际值:%s" % (dict_dict[1]) # 将字符串转换为tuple
tuple_str = "((1,2), 3, 4, 5, 6)" print u"list_str:未执行eval,获取第1个元素,期望值:(1,2), 实际值:%s" % (tuple_str[0])
tuple_tuple = eval(tuple_str)
print u"list_str:已执行eval,获取第1个元素,期望值:(1,2), 实际值:(%s, %s)" % tuple_tuple[0]

python_eval的用法的更多相关文章

  1. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  2. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  3. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  6. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  7. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  8. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

随机推荐

  1. get 和 post请求的区别

    (1)GET请求用于获取信息,从Client的角度看,不会改变资源状态,并且多次对同一URL的多个请求应该返回相同的结果.        GET请求的参数会显示在URL中,即放置在HTTP协议头中(所 ...

  2. Checking the Calendar

    Checking the Calendar time limit per test 1 second memory limit per test 256 megabytes input standar ...

  3. opencv---cvor

    void cvXor计算两个数组中的每个元素的按位异或. void cvXor (const CvArr* src1, const CvArr* src2, CvArr* dst, const CvA ...

  4. mysql 字段的类型有哪些

    int型包括(tinyint, smallint, mediumint, int, bigint) tinyint是1个字节表达范围就是2的8次方(-128-128) 或者(0-255) 很多人不明白 ...

  5. php实现echo json_encode正确显示汉字

    <?php header('Content-type: text/html; charset=utf-8'); /* function showmessage($msg = '', $redir ...

  6. [转]JSONObject与JSONArray的使用

    http://www.cnblogs.com/xwdreamer/archive/2011/12/16/2296904.html 参考文献: http://blog.csdn.net/huangwuy ...

  7. java 多线程机制

    Example12_1.java public class Example12_1 { public static void main(String args[]) { //主线程 SpeakElep ...

  8. java 接口参数

    Example6_5.java interface SpeakHello { void speakHello(); } class Chinese implements SpeakHello { pu ...

  9. ZOJ Problem - 2588 Burning Bridges tarjan算法求割边

    题意:求无向图的割边. 思路:tarjan算法求割边,访问到一个点,如果这个点的low值比它的dfn值大,它就是割边,直接ans++(之所以可以直接ans++,是因为他与割点不同,每条边只访问了一遍) ...

  10. map.entry<k,v>小用法(转)

    你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息.标准的Map访问方法如下: Set keys = map.keySet( ...