# 这是学习廖雪峰老师python教程的学习笔记

1、概览

为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,在Python中,一个.py文件就称之为一个模块(Module)

1.1、使用模块的好处

  1. 提高了代码的可维护性

  2. 当一个模块编写完毕,就可以被其他地方引用

  3. 避免函数名和变量名冲突。相同名字的函数和变量可以分别存在不同的模块中

1.2、python组织模块的方法

为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。

包的做法是:

选择一个顶层包名,比如mycompany,按照如下目录存放:

mycompany
├─ __init__.py
├─ abc.py
└─ xyz.py

引入了包以后,只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突。现在,abc.py模块的名字就变成了mycompany.abc【以前叫 abc】,类似的,xyz.py的模块名变成了mycompany.xyz【以前叫 xyz】

__init__.py这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。

__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是mycompany

类似的,可以有多级目录,组成多级层次的包结构。比如如下的目录结构:

mycompany
 ├─ web
 │  ├─ __init__.py
 │  ├─ utils.py
 │  └─www.py
 ├─ __init__.py
 ├─ abc.py
 └─ xyz.py

文件www.py的模块名就是mycompany.web.www,两个文件utils.py的模块名分别是mycompany.utils和mycompany.web.utils。

转载于:https://blog.51cto.com/12758568/2116749

Python学习笔记__5章 模块相关推荐

  1. python学习笔记4(模块

    python学习笔记4(模块) 一.模块 1.1 import语句 1.2 __name__属性 1.3 dir()函数 1.4 包 2.1 导入特定模块: 二.输入与输出 2.1 format使用 ...

  2. Python学习笔记__8章错误、调试和测试__8.1章错误处理

    # 这是学习廖雪峰老师python教程的学习笔记 1.概览 我们在运行程序或编写函数时,发生错误后,系统都会返回错误信息.我们可以通过某些机制,让错误信息更加明了 1.1.try try机制的格式就是 ...

  3. Python学习笔记__4章 函数式编程

    # 这是学习廖雪峰老师python教程的学习笔记 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程 ...

  4. Python学习笔记--day09 函数 模块 (文件、路径操作)

    第二模块 函数&模块 第一模块主要是学习python基础知识,从第二模块开始就可以通过程序去解决工作中实际的问题. 函数,一个用于专门实现某个功能的代码块(可重用). 内置函数 len.bin ...

  5. Python学习笔记之常用模块总结,持续更新...

    阅读目录 1. 时间模块--datetime 2. 文件目录操作模块--os 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经 ...

  6. Python学习笔记—第二章—IPython

    书目:Python(Unix和Linux系统管理指南) 学习日期:20130807 知识点总结: 安装IPython: 源码安装: 1 2 tar zxvf ipython-0.13.2.tar.gz ...

  7. python 学习笔记8 (模块)

    Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码 ...

  8. Python学习笔记-DNS处理模块dnspython

    DNS处理模块dnspython     dnspython是python实现的一个DNS工具包,它支持几乎所有的记录类型,可以用于查询.传输并动态更新ZONE信息,同时支持TSIG(事务签名)验证消 ...

  9. python学习笔记之常用模块用法分析

    内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像函数一样调用 repr(obj) 得 ...

最新文章

  1. 日常工作问题解决:centos7下配置网卡以及查询网卡UUID
  2. JSON与Struts2的结合使用
  3. 在控制台中录入学生成绩,计算总分,最高分,最低分(Python)
  4. 201521145048《Java程序设计》第11周学习总结
  5. birt报表表格边框_选开源报表开发还是商用?2020报表软件产品整理
  6. offer上不写具体薪资合理吗_拿着OFFER当白菜?职场菜鸟不带这么玩的
  7. Android 获取唯一机器码的代码
  8. mysql 内部 临时表_MySQL内部临时表何时使用磁盘
  9. ios开发之--UITextField光标右移
  10. 软件项目管理复习题库(学生自制非官方)
  11. Python爬虫工具
  12. 使用 docker-pan 一键搭建可离线磁力种子的私有云盘
  13. 简析时间复杂度和空间复杂度
  14. 代码审计入门学习笔记
  15. word删除分页符的两种方法
  16. 好好说话之Fastbin Attack(1):Fastbin Double Free
  17. 游戏场景设计思维:黑白与颜色的现代构成艺术
  18. 图神经网络(贪心学院)
  19. linux性能优化——利用perf火焰图分析内核调用
  20. Telegram 查看下载保存的文件

热门文章

  1. 物联网可编程高灵活度IoT网关或集线器是解决方案
  2. 《理解 ES6》阅读整理:函数(Functions)(五)Name Property
  3. MySQL5.7绿色版安装
  4. 实现“Please wait...”效果
  5. RedHat 5.4 RHCE VSFTPD学习笔记
  6. 解决WIN7远程登录提示无法保存凭据的问题
  7. 快速了解Druid -- 实时大数据分析软件
  8. mybatis-plus的代码生成器
  9. 【转载】oracle闪回技术详解之闪回drop(神奇的flashback)
  10. Java方法的静态绑定与动态绑定讲解