Python学习笔记之模块

本篇主要介绍Python模块和如何将模块导入编程环境中,模块是用来组织代码的方法。

模块(module)

模块支持从逻辑上组织Python代码。当程序员编写的代码量变得相当大的时候,就可以把代码分成一些有组织的代码段,彼此之间可以交互。可以是一个包含数据成员和方法的类,也可以是一组相关但彼此独立的操作函数。这些代码之间是共享的。把其他模块中属性附加到你的模块中的操作叫做导入(import),那些自我包含且有组织的代码片段称为模块(module)。

命名空间(namespace)

命名空间(namespace)就是一个从名称到对象的关系映射集合。

在程序执行期间有三个活动的命名空间,分别为局部命名空间(local namespace)、全局命名空间(global namespace)、内建名称空间(build-in namespace)。

我们可以使用globals()和locals()内建函数判断一个名字属于哪一个命名空间。

globals()和locals()内建函数分别返回调用者全局和局部命名空间的字典。

命名空间与变量作用域

变量作用域除了指出名字与对象间的映射关系,还指出了从用户代码的哪些物理位置可以访问到这些名字。

在程序的执行过程中,局部命名空间和作用域会随着函数调用而变化。

名称的查找

当函数、变量等信息发生重名时,Python会按照"local namespace -> global namespace -> build-in namespace"的顺序进行搜索用户所需元素,并且以第一个找到此元素的namespace为准。

路径搜索

在模块的导入时,需要一个“路径搜索”的过程,即在文件系统“预定义区域”中查找要导入的模块,如果没有找到,将会返回错误ImportError。

搜索路径是指待查找的一组目录地址。
路径搜索是指查找某个文件的操作。

导入模块

  • 使用import语句导入模块。

         import module  # 单个模块导入
      import module1, module2.... # 多个模块导入
    
  • 使用from-import语句导入模块。

      from module import name
    
  • 拓展import语句(as)

      from module import name as yourname
      可以通过这种方法来替换模块中的某个对象的名称
    

注意: import语句导入模块的方法是加载这一模块中的全部对象到你的程序中,而from-import语句简单地导入你所要使用的具体的对象,比较节省内存。

导入顺序

建议按照以下顺序进行导入相关模块。

  1. Python标准库模块
  2. Python第三方模块
  3. 应用程序自定义模块

关于__future__

由于改进、新特性和当前特性增强,某些变化会影响到当前功能,为了让Python程序员为新事物做好准备,Python实现了future指令。

可以使用from-import语句导入新特性。

from __future__ import new_feature

reload()

reload()内建函数可以重新导入一个已经导入的模块。

reload(module)

这个方法是模块的全部导入以及模块必须成功导入。函数的参数是模块名称。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容