码迷,mamicode.com
首页 > 其他好文 > 详细

模块与包

时间:2018-08-07 16:09:52      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:font   引用   开发效率   推荐   过程   class   编译   pytho   rom   

模块

定义:一系列功能的集合体。

模块的三种来源

  1. 内置模块
  2. 第三方模块
  3. 自定义模块

模块的四种格式

  1. 使用python编写的.py文件
  2. 已被编译为共享库或DLL的C或C++扩展
  3. 把一系列模块组织到一起的文件夹(文件夹下有一个__init__.py的文件,该文件夹称之为包)
  4. 使用C编写并连接到python解释器的内置模块

为什么要使用模块:

  1. 使用第三方或内置模块:可以加快开发效率
  2. 使用自定义的模块:可以减少代码冗余(抽取我们自己程序中要共用的一些功能定义为模块,然后程序的各部分组件都可以去模块中调用共享的功能)

如何使用模块:

大的前提是:要区分开哪个是执行文件,哪个是被导入的模块

例如:文件名是spam.py,模块名就是spam

首次导入模块时:

  1. 会产生一个模块的名称空间
  2. 执行模块文件,将执行过程中产生的名字都放到模块的名称空间中
  3. 在当前执行文件的名称空间中拿到一个模块名,该名字指向模块的名称空间

在之后再次导入模块时,都是直接引用第一次导入的结果,不会重新执行文件

模块之import

在执行文件中使用模块的语法:模块名.功能名字

例如:从spam模块中导入一个read功能

   在执行文件中使用时spam.read就可以

# 可以在一行导入多个模块
import os,sys,....      #(不推荐使用)

# 可以为模块起别名(使用import...as...)
import spam as sm

import 总结:

  • 优点:指名道姓的向某一个名称空间要名字,不会与当前名称空间中的名字冲突
  • 缺点:只要使用模块中的名字时都要加前缀,不简洁

模块之from....import....

# 可以在一行导入多个模块
from spam import read1, read2,.....

# *代表从被导入模块中拿到所有名字(不推荐使用)
from spam import *

# 可以为模块起别名(使用from...import...as...)
from spam import read as rd

from....import....总结:

  • 优点:使用时无需加前缀,更加简洁
  • 缺点:容易与当前执行文件中的名字冲突

 

模块与包

标签:font   引用   开发效率   推荐   过程   class   编译   pytho   rom   

原文地址:https://www.cnblogs.com/rongge95500/p/9437317.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!