我们之前看到了函数和对象。从本质上来说,它们都是为了更好的组织已经有的程序,以方便重复利用。

模块(module)也是为了同样的目的。在Python中,一个.py文件就构成一个模块。通过模块,你可以调用其它文件中的程序。

引入模块

我们先写一个first.py文件,内容如下:

复制代码 代码如下:

def laugh():

print 'HaHaHaHa'

再写一个second.py,并引入first中的程序:

复制代码 代码如下:

import first

for i in range(10):

first.laugh()

在second.py中,我们使用了first.py中定义的laugh()函数。

引入模块后,可以通过模块.对象的方式来调用引入模块中的某个对象。上面例子中,first为引入的模块,laugh()是我们所引入的对象。

Python中还有其它的引入方式

复制代码 代码如下:

import a as b             # 引入模块a,并将模块a重命名为b

from a import function1   # 从模块a中引入function1对象。调用a中对象时,我们不用再说明模块,即直接使用function1,而不是a.function1。

from a import *           # 从模块a中引入所有对象。调用a中对象时,我们不用再说明模块,即直接使用对象,而不是a.对象。

这些引用方式,可以方便后面的程序书写。

搜索路径

Python会在以下路径中搜索它想要寻找的模块:

程序所在的文件夹

标准库的安装路径

操作系统环境变量PYTHONPATH所包含的路径

如果你有自定义的模块,或者下载的模块,可以根据情况放在相应的路径,以便Python可以找到。

模块包

可以将功能相似的模块放在同一个文件夹(比如说this_dir)中,构成一个模块包。通过

复制代码 代码如下:

import this_dir.module

引入this_dir文件夹中的module模块。

该文件夹中必须包含一个__init__.py的文件,提醒Python,该文件夹为一个模块包。__init__.py可以是一个空文件。

总结

import module

module.object

__init__.py

本文标题: python进阶教程之模块(module)介绍

本文地址: http://www.cppcns.com/jiaoben/python/112934.html

python模块编程教程_python进阶教程之模块(module)介绍相关推荐

  1. python引入模块教程_python进阶教程之模块(module)介绍

    我们之前看到了函数和对象.从本质上来说,它们都是为了更好的组织已经有的程序,以方便重复利用. 模块(module)也是为了同样的目的.在Python中,一个.py文件就构成一个模块.通过模块,你可以调 ...

  2. python中文编程教学_Python入门教程完整版400集(懂中文就能学会)快来带走

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...

  3. python 神经网络编程 视频_python基础教程之达叔系列——神经网络编程基础|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ (1)二分类问题 目标:习得一个分类器,它以图片的特征向量作为输入,然后预测出结果 y 为 1 还是 0 ...

  4. python调试教程_python进阶教程之==、is和调试

    ==.is 总结 is 是比较两个引用是否指向了同一个对象(引用比较).== 是比较两个对象是否相等. 调试 pdb pdb是基于命令行的调试工具,非常类似gnu的gdb(调试c/c++). 命令简写 ...

  5. python 在线编程 实现_Python进阶开发之网络编程,socket实现在线聊天机器人

    系列文章 本文目录 .什么是socket? 说到网络编程,难免要提到socket? 那什么是socket呢,中文名叫"套接字",更难理解了吧. 通俗来讲,socket表示一个网络连 ...

  6. python 协程 多线程_python进阶之多线程(简单介绍协程)

    多线程 线程:实现多任务的另一种方式 一个进程中,也经常需要同时做多件事,就需要同时运行多个'子任务',这些子任务,就是线程 线程又被称为轻量级进程(lightweight process),是更小的 ...

  7. python动态类型的坑_python进阶教程之动态类型详解

    动态类型(dynamic typing)是Python另一个重要的核心概念.我们之前说过,Python的变量(variable)不需要声明,而在赋值时,变量可以重新赋值为任意值.这些都与动态类型的概念 ...

  8. 我学python前一句_Python学习教程:人生苦短,我用Python?入门前你要知道这些

    有多少伙伴是因为一句'人生苦短,我用Python'就要去学Python的?之前也大家更新过Python学习教程普及过多次的Python相关知识,不过大家还是还得计划一下Python学习路线!Pytho ...

  9. python基础开发环境_Python基础教程,第一讲,开发环境搭建

    今天是写Python基础教程的第一课,也是下定决心做技术分享的第一篇文章.先扯几句和技术无关的吧,也便于大家了解这套课程的内容,适不适合自己学习,我做开发6年了,已年过30,一直从事的WEB方面的开发 ...

最新文章

  1. Vue、angular等框架实现双向绑定的原理,核心机制是使用了Object.defineProperty
  2. centos7 yum安装 c c++ gcc gcc-c++
  3. 交换机和路由器上流量限制
  4. Python爬虫进阶三之Scrapy框架安装配置
  5. STM32F4_USART配置及细节描述
  6. 优秀Java程序员的编程风格
  7. 基本数据类型及其包装类(一)
  8. 使⽤用 Spring Boot Actuator 监控应⽤
  9. C++友元函数简单示例
  10. java .class参数_java – 将.getClass()转换为类型参数
  11. 视频解码芯片SAA7111A的初始化
  12. 一次Web请求返回406原因与解决方案
  13. 机器学习基础(五十五)—— 核(Kernel Trick)
  14. Java并发编程之ThreadLocal详解
  15. XCode5 文档下载地址
  16. com.android.packageinstaller,Android PackageInstaller 安装和卸载
  17. 全球顶级的5个数据可视化案例
  18. java.io.IOException: Cleartext HTTP traffic to xxx.xxx.xxx.xxx not permitted
  19. 目标检测特殊层:Proposal层
  20. 2021年小红书电商直播趋势报告-小红书数据分析报告

热门文章

  1. C++ builder 的文件读写操作总结
  2. 字符串处理分割字符串
  3. python课堂笔记
  4. 【CyberSecurityLearning 78】DC系列之DC-9渗透测试
  5. 两数之和——双指针法
  6. 从SOURCE_BUFFER单元开始存放了20个字母A, 编程将这20个字母A的字符串传送到DEST_BUFFER开始的单元中.
  7. 多组测试数据求最大值
  8. PC 远程控制 android手机的方法之一VNC
  9. Android Binder Driver缺陷导致定屏问题分析
  10. 一个更优的零知识证明:Bulletproofs