一、什么是模块?

模块本质是一个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. WebSocket Demo

    HTML 代码: <body> <h1>WebScoket示例</h1> <br /><br /> <input type=" ...

  2. JavaScript精简代码 非一般的写法(转载)

    摘要:最近在编写一个前端模块功能,编写了大量的代码,其中一般图片特效展示是参考别人的代码来写的,发现有些代码似乎看得明白又好像不确定是不是哪个意思,所以在网上问了一下程序员们,原来是JS代码简写. 转 ...

  3. What is mobile platform?

    高屋建瓴 From Up to Down Outside into inside The Internet Of Things. http://wenku.baidu.com/view/5cdc026 ...

  4. 一次ddos攻击

    公司lvs的vip受到攻击,表现现象为: 1)vip所有服务器没有什么连接,大量的无效connection 2)网卡流量很大 停用vip,流量下降,临时解决攻击问题.但是这只是治标不治本,如果攻击方变 ...

  5. Java类与对象初始化的过程(一道经典的面试题)

    本文不再以ClassLoader的视角解释这些问题. 首先,Java代码有个特点,就是成员变量可以在前面的方法中使用,在后面定义.这一特性,很多人说Java了不起,可是为什么呢?Java为何能够这样呢 ...

  6. c++为什么定义了析构函数的类的operator new[]传入的参数会多4字节?

    问题:   在网上看人写了这么一段代码: class A { public: A() { std::cout<<"call A constructor"<< ...

  7. Selenium入门7 内嵌框架iframe

    如果网页内嵌iframe,那么iframe里的元素是无法直接定位的,需要使用switch_to.frame进入frame操作: 之后需要再操作页面上非嵌入在iframe里的元素,需要使用switch_ ...

  8. jade在命令行实时编译

    jade文件: doctype html html head title jade study body h1 imoock jade study 在jade文件夹下,终端输入 jade index. ...

  9. 2017.11.6 JavaWeb-----第七章 JavaWeb常用开发模式与案例

    JavaWeb-----第七章 JavaWeb常用开发模式与案例 (1)单纯的JSP页面开发模式 通过在JSP中的脚本标记,直接在JSP页面中实现各种功能.称为"单纯的JSP页面编程模式&q ...

  10. PHP精度问题

    PHP 为任意精度数学计算提供了二进制计算器(Binary Calculator),它支持任意大小和精度的数字,以字符串形式描述 bcadd — 加法bccomp — 比较bcdiv — 相除bcmo ...