python中exec和import的区别
时间:2011-04-29
来源:互联网
想深入下exec和import的区别。望各位踊跃发言~
个人见解,import中其实也执行了module的语句,但在local namespace中没用具体的语句产生的attr,只有module attr。而exec则将代码在local namespace中执行,所产生的attr都放在namespace中。所以只有可以理解成import中module的语句是在自己的namespace中执行的。欢迎拍砖~
个人见解,import中其实也执行了module的语句,但在local namespace中没用具体的语句产生的attr,只有module attr。而exec则将代码在local namespace中执行,所产生的attr都放在namespace中。所以只有可以理解成import中module的语句是在自己的namespace中执行的。欢迎拍砖~
作者: anqingxuexi 发布时间: 2011-04-29
只要知道别用exec就行了。
作者: iambic 发布时间: 2011-04-29
exec语句用来执行储存在字符串或文件中的Python语句
import 用于模块导入
最近刚好也在学习Python,只知道这么多了
import 用于模块导入
最近刚好也在学习Python,只知道这么多了
作者: killua_hzl 发布时间: 2011-04-29
引用 1 楼 iambic 的回复:
只要知道别用exec就行了。
只要知道别用exec就行了。
yes, 如果exec的object有太多的操作,是最好不要用,但是如果object里主要是定义,比如定义个一个class,定义一个function,那样exec进来的话,你很方便取到这个东西(eg 遍历locals),但是import进来的东西,你还需要显式的调用。
Python code
a.py class A(object): pass b.py exec open("a.py") locals() -> <class A> ------------------------ import a locals()-> <module a>
作者: anqingxuexi 发布时间: 2011-04-29
基本上,只要你用exec,你的用法就是错的。比如楼上的例子。
基本上,只要你用locals(),你的用法也是错的。楼上也是例子。
在自认是Python高手之前,不要用exec。没有例外。
基本上,只要你用locals(),你的用法也是错的。楼上也是例子。
在自认是Python高手之前,不要用exec。没有例外。
作者: iambic 发布时间: 2011-04-29
引用 4 楼 iambic 的回复:
基本上,只要你用exec,你的用法就是错的。比如楼上的例子。
基本上,只要你用locals(),你的用法也是错的。楼上也是例子。
在自认是Python高手之前,不要用exec。没有例外。
基本上,只要你用exec,你的用法就是错的。比如楼上的例子。
基本上,只要你用locals(),你的用法也是错的。楼上也是例子。
在自认是Python高手之前,不要用exec。没有例外。
愿闻其详,你说的exec用法错误?你说的意思,是不是需要exec(object, local, global)?locals()错误?不知什么意思?
并且i‘am a rookie.我是需要一些特殊的操作所以用到了exec,并且就是希望发帖出来学习.谢谢!
作者: anqingxuexi 发布时间: 2011-04-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28