以下的文章是通过Python Library: Exec & Compile的相关实际操作代码的介绍来介绍Python Library在实际操作的相关步骤,以下是文章内容的具体介绍,希望你在浏览完下面的文章会有所收获。
直接运行代码字符串也是动态语言的一个重要特征。虽然在 .NET/C# 里也可通过 CodeDom 实现类似的功能,但远没 Python 这么方便自由。
- >>> code = """
- def test(s):
- print "test:", s
- a = 123
- """
- >>> exec code
- >>> a
- 123
- >>> test("abc")
- test: abc
内置函数里还有 eval() 和 execfile() 都是用来做类似事情的。exec 关键字执行多行代码片段,eval() 函数通常用来执行一条包含返回值的表达式,而 execfile 自然是用来执行源码文件了。
- >>> a = 10
- >>> x = eval("a + 3")
- >>> x
- 13
eval() 和 execfile() 都有 "globals, locals" 参数,用于传递环境变量,默认或显式设置为 None 时都直接使用 globals() 和 locals() 获取当前作用域的数据。
- >>> x = eval("a + b", {}, {})
传递空值,使其无法获取本地信息
- Traceback (most recent call last):
- File "
", line 1, in - x = eval("a + b", {}, {})
- File "
", line 1, in - NameError: name 'a' is not defined
- >>> x = eval("a + b", {}, { "a":123, "b":2})
显式传递环境信息
- >>> x
- 125
以上文章的内容是对Python Library的实际相关应用操作过程中操作的部分介绍。
【编辑推荐】
分享标题:PythonLibrary在实际操作中具有十分强大的功能
网址分享:http://www.csdahua.cn/qtweb/news45/447195.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网