Python-2014.11.8

data:2014.11.08

接着昨天的内容继续,这几篇的文章其实都是摘自Python核心编程这本书的,还有一本Python的技术手册,个人建议看完这本核心编程后再去看技术手册,理解的会更好一点。

1. globals() ,locals()内建函数分别返回调用者全局和局部名称空间的字典,在一个函数内调用globals()函数就是调用全局的名称空间,locals()则是代表函数执行时定义的所有名字的字典。在全局空间下调用两个函数的值是一样的。可以使用globals().keys()来获得字典的键,也就是定义的名称。

2. reload()函数,语法为reload(modulename)需要注意的是参数必须是一个模块名,且不是字符串而是一个对象,另外只能导入一个模块,与import不同的是reload()函数会被重复加载。

3. package:有几种导入形式 第一种是 import phone.mobile.analog   使用时需phone.mobile.analog.function();第二种方法是使用from-import方法,只导入子包,然后通过子包调用 ‘.’点号访问。或者是一直导入 最后import其方法或属性。 另外,一个包下面都会有__init__.py初始化文件,没有会引发importwaring信息。

4. from package.module import * 可以这么定义,但是具体导入哪些文件,则取决于操作系统。这样我们要在__init__.py文件中加入__all__变量,该变量包含了在引入时导入哪些模块的名称组成的列表。默认绝对导入,就是要写上包目录的绝对路径。

5. 相对导入是在引用的包之前加点号来实现的,相对于根目录采用一个或者两个点进行,下面是核心编程的例子:

from Phone.Mobile.Analog import dial
from .Analog import dial
from ..common_util import setup
from ..Fax import G3.dial

6. sys.modules变量包含了一个由当前载入(完成且成功导入的模块),可以使用sys.modules.keys()来得到一个字典。

7. 在from module import * ,如果你不想让你的某一个模块的属性被导入,你可以在该属性前面加一个下划线(_),但是你在使用全部导入 import module 或者是显性的导入时,它将失去作用。

8. 编码上,你可以在模块头部加一个额外的编码指示说明就可以让导入者使用指定的编码解析你的模块,对应相应的Unicode字符。有个小技巧就是在Eclipse中的模板中把这一条加上,这样就不用每次都写了。

9. 对于一些模块导入时会用到的辅助的模块只注意一个modulefinder模块和ModuleFinder类就可以了,提到这两个类是因为这可以用来构造一个简单的模块引用关系图,正如开源社区上提供的那些程序一样。

10. 模块其实就是一个组织方式,里面的命名空间和变量域要深入的理解,了解各种导入的方式,以及导入的顺序和原理等。一个好的建议就是在模板中尽量少导入模块。

时间: 2024-10-13 16:38:27

Python-2014.11.8的相关文章

Grml 2014.11 发布,Linux 发行版

Grml 2014.11 发布,代号为 'Gschistigschasti'.此版本提供最新的 Debian 'testing' 里面的软件包,跟往常一样,更新了硬件支持,修复了之前 Grml 版本的 bug. 新特性: new boot option getfile.retries=... - by specifying a number it controls the number of download retries for the netscript=...; grml2usb - i

2014.11.9心情随笔

嗯不知不觉已经夜深了,父亲与妹妹已经入睡,而我却还守着电脑看教程. 有的时候挺迷茫的,不知道自己做的这一切是为了什么,喜欢编程吗?可我说不出来喜欢它的理由,只是单纯的觉得那一行行的代码能像当初推理一样给我带来快乐,兴奋感. 可有的时候就像老师说的,我不学习不考个好的大学做这一切有什么用呢?人活着这一辈子又是为了什么呢? 是我想太多了么?同龄人该想什么?我才初二呀,有的时候挺憎恨自己为什么想那么多. 找份安稳的工作赚钱糊口养家,这已经是我的目标了,梦想什么的早就扯淡没了. 梦想离我太遥远了吗?忘了

【转载】【知识点总结】NOIP前夕 2014.11.4

2014.11.4 7:33 还有三天半就要NOIP,圈一下要背的知识点: 一.数论 1.素数判断 2.筛法求素数 3.求一个数的欧拉函数值 4.预处理欧拉函数 5.卡塔兰数递推式 6.快速幂(模素数的乘法逆元) 7.GCD 二.图论 1.最短路:①堆dijkstra ②spfa 2.kruscal 最小生成树 3.LCA(块状树) 4.匈牙利算法 5.验证二分图 6.scc缩点 7.拓扑排序 三.动态规划经典题 1.零一背包 2.完全背包 3.分组背包 4.最长上升(不下降)子序列 5.方格取

Notes of Scrum Meeting(2014/11/2)

Notes of Scrum Meeting (2014/11/2) 软件工程项目组Sevens开始项目之后的第一次Scrum Meeting报告 会议时间:2014年11月2日  20:00—20:30 与会人员:金鑫 陈少杰 雷元勇 王迪 高孟烨 邓亚梅 郑培蕾 会议地点:QQ讨论组 会议内容: 1.会议目标 项目给定的时间正式过去一周,我们开始准备的时间有些晚,所以大家在周末的任务是熟悉Android开发环境和开发语言, 为之后两周编写代码打下基础.另外就是确定今后四天的时间里大家的努力方

【知识点总结】NOIP前夕 2014.11.4

2014.11.4 7:33 还有三天半就要NOIP,圈一下要背的知识点: 一.数论 1.素数判断 2.筛法求素数 3.求一个数的欧拉函数值 4.预处理欧拉函数 5.卡塔兰数递推式 6.快速幂(模素数的乘法逆元) 7.GCD 二.图论 1.最短路:①堆dijkstra ②spfa 2.kruscal 最小生成树 3.LCA(块状树) 4.匈牙利算法 5.验证二分图 6.scc缩点 7.拓扑排序 三.动态规划经典题 1.零一背包 2.完全背包 3.分组背包 4.最长上升(不下降)子序列 5.方格取

虚拟化这八年-【软件和信息服务】2014.11

1998年VMware将IBM大型机应用的虚拟化技术迁移到x86平台,服务器虚拟化开始慢慢走近大众的视野.而中国人真正开始认识服务器虚拟化则始于2006年VMware开始在中国设立办事处.过去的8年是全球虚拟化大发展的八年,也是中国虚拟化奋起直追的八年. VMware于2004年初被EMC以6.25亿美金收购后,整个2004年的营业额也只有2.19亿美金,所以当时的服务器虚拟化整个市场容量还是很小的,难怪当时VMware拼命兜售才找到EMC这样一个买家,也仅仅以2003年营业额6.25倍的价格完

学好 Python 的 11 个优秀资源【转载】

Python是目前最流行.最易学最强大的编程语言之一(学习Python的五大理由),无论你是新手还是老鸟,无论是用于机器学习还是web开发(Pinterest就是案例),Python都是一件利器.此外,Python不但人气日益高涨,而且Python程序员的薪酬行情也是水涨船高,北美Python程序员的平均年薪高达10万美元. 对于有志学习Python的开发者来说,Python吸引人的地方不仅是有一个优秀的社区,而且还有大量的精品免费资源可用.连环创业家,Code(Love)创始人Roger Hu

python笔记11

---恢复内容开始--- mysql数据库 mysql数据库常见名词: 数据库: 数据库是一些关联表的集合.. 数据表: 表是数据的矩阵.在一个数据库中的表看起来像一个简单的电子表格. 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据. 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据. 冗余:存储两倍数据,冗余可以使系统速度更快.(表的规范化程度越高,表与表之间的关系就越多:查询时可能经常需要在多个表之间进行连接查询:而进行连接操作会降低查询速度.例如,学生的信

学好 Python 的 11 个优秀资源

Python是目前最流行.最易学最强大的编程语言之一,无论你是新手还是老鸟,无论是用于机器学习还是web开发(Pinterest就是案例),Python都是一件利器.此外,Python不但人气日益高涨,而且Python程序员的薪酬行情也是水涨船高,北美Python程序员的平均年薪高达10万美元. 对于有志学习Python的开发者来说,Python吸引人的地方不仅是有一个优秀的社区,而且还有大量的精品免费资源可用.连环创业家,Code(Love)创始人Roger Huang近日分享了11个优秀的P

9岁玩转Python,11岁创作游戏,学python从娃娃抓起!!!

近日,一份上海幼升小孩子的简历,吸引了不少关注."比不过一个五岁小孩",成为了网友评论中的一大热门关键句.而在河南省漯河市,也有一位05后"程序员",在别人还在学习拼音时,他已经开始玩转Python,在11岁时独立创作了一款小游戏.他是怎么学习的?又是如何走上编程之路的? 学编程从娃娃抓起,11岁用Pyhton创作游戏 我们都知道Python容易学,但是就是不知道如何去学,去×××资料,机器学习,人工智能,深度学习,都在这学习,小编推荐一个学习平台 欢迎加入pyth