一、什么是模块?

模块本质是一个py文件,我们可以通过关键字import将py文件对象导入到当前名称空间。

二、导入模块

1、import module

2、from module import object

import导入动作一共包含两个部分:①把import后面跟的对象导入到当前名称空间;②导入的同时会把对象的代码执行一次。这也是为什么我们的模块测试代码写在if __name__ == "__main__" 语句后面的原因:如果py文件作为主文件在运行时,文件的__name__ == "__main__";文件是作为模块导入到其他py文件的名称空间的时候,模块的__name__是模块名。

示例1:导入就是把import后面的对象引入当前名称空间

示例2:模块作为文件运行时__name__

示例3:文件被导入时的__name__是文件名

三、包

当我们写出了可重用的模块变得越来越多时,我们自然而然就会想把具有相同用途的模块分门别类。就像我们硬盘中会把学习资料、电影、音乐分别用不同命名的文件夹分开储存一样。包就是起到这么一种作用的”特殊“目录:把具有相同用途的模块储存在一起的目录。

包与我们普通目录不同的一点就是,包的下面必定有一个__init__.py文件,即使这个文件什么内容也没有,它是代表了这个包本身。

示例:

四、导入包中的模块

导入包中的模块我们一般用from...import语句。

示例:

注意:如果是用import语句导入包中的模块,虽然会把模块中的代码执行,但实际导入到当前名称空间的只是包对象。所以导入包中的模块一般用from...import语句。

示例:

15、python之导入模块的更多相关文章

  1. python有三种导入模块的方法(转)

    原文:http://www.cnblogs.com/allenblogs/archive/2011/11/15/2055149.html python有三种导入模块的方法 其一, import mod ...

  2. python中导入模块的本质, 无法导入手写模块的解决办法

    最近身边一些朋友发生在项目当中编写自己模块,导入的时候无法导入的问题. 下面我来分享一下关于python中导入模块的一些基本知识. 1 导入模块时寻找路径 在每一个运行的python程序当中,都维护了 ...

  3. Python 动态导入模块

    动态导入模块 目录结构: zhangsandeMacBook-Air:1110 zhangsan$ tree . . ├── lib │   └── aa.py ├── test1.py lib目录下 ...

  4. Python关于导入模块的一些感想:

    写项目的时候,碰到这种情况 程序业务为core,里面有两个目录,core1 和core2  core1中有三个模块,business  main   main1 程序入口为bin目录下的project ...

  5. python动态导入模块——importlib

    当在写代码时,我们希望能够根据传入的选项设置,如args.model来确定要导入使用的是哪个model.py文件,而不是一股脑地导入 这种时候就需要用上python的动态导入模块 比如此时文件结构为: ...

  6. python基础--导入模块

    一,import的使用1, 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块中的功能一个模块就是包含了一组功能的python文件,例如demo.py 可以通过import来使用这个文件定义d ...

  7. python中导入模块的注意点

    1.import  和 from  import 的区别 import module导入模块:语句执行完后会创建一个新的命名空间,在该命名空间中执行相应的函数.执行时,需要的变量.函数和类名前需要加  ...

  8. python控制流-导入模块

    一.模块 1.含义 Python 程序可以调用一组基本的函数,这称为“内建函数”,包括你见到过的 print().input()和 len()函数.Python 也包括一组模块,称为“标准库”.每个模 ...

  9. python改变导入模块中的变量的问题

    Python中循环函数1调用函数2,函数2中import了一个模块,函数1: def run(): for a in b: runTest(a,patter) 函数2: def runTest(cas ...

随机推荐

  1. jquery-validate插件

    jQuery Validation 插件 优点:1.表单验证非常简单方便,并且提供了许多配置项目2.国际化,可以自定义提示信息 命令行安装 //初始化bowerbower init //使用bower ...

  2. Azure 7 月新公布

    Azure 7月新发布:Cosmos DB,事件中心捕捉功能,Hybrid Connections,流量管理器快速故障转移功能. 您现有的 DocumentDB 资源现已作为 Azure 门户上 Az ...

  3. 笨办法学Python(十八)

    习题 18: 命名.变量.代码.函数 标题包含的内容够多的吧?接下来我要教你“函数(function)”了!咚咚锵!说到函数,不一样的人会对它有不一样的理解和使用方法,不过我只会教你现在能用到的最简单 ...

  4. Linux远程桌面(一)

    在机房折磨很久弄好的自己 Mark 一下.(测试环境rhel5.5) vnc 之独立服务配置 步骤一: (1)查看系统是否安装vnc服务(也可以在 系统-管理员-服务 里查看并勾选开机自启) # rp ...

  5. 虚拟机的NAT模式连接centos7配置静态IP连接外网

    小小的配置,各种五花八门的介绍. 1.打开VMWare->编辑->虚拟网络编辑器->点击更改设置 2.选中VMnet8->取消使用本地DHCP服务将IP地址分配给虚拟机-> ...

  6. 初学React:JSX语法

    这是本人初学React做的学习笔记;讲的不是很深,只算是简单的进行介绍. 这是一个小系列.都是在同一个模板中搭建的,但是代码是不能正常执行的. >>第一个组件.js 'use strick ...

  7. postman 1—官网下载及安装

    测试过程中构造批量数据方式: 1 业务只关联数据库单张表,那么可以通过sql插入数据 也可以通过接口构造. 2 业务关联多张数据库表.要在多张表插入数据且保持数据的一致性,此时通过接口批量发送请求构造 ...

  8. 谷歌Web中文开发手冊:3响应式

    https://developers.google.com/web/fundamentals/getting-started/your-first-multi-screen-site/responsi ...

  9. Prim算法求最大权,POJ(2485)

    题目链接:http://poj.org/problem?id=2485 解题报告: 这里有一点要注意的是,第一个点时,dis数组还没有初始化,还全部为inf.第一次来到更新权时,才把邻接矩阵的数据存到 ...

  10. 重写KVC

    #import "NSObject+WQKVC.h" #import <objc/runtime.h> /** KVC 首先调用的方法顺序: |- setter: se ...