python进阶教程之模块(module)介绍

作者:junjie 时间:2021-06-16 12:52:07 

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

模块(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
0
投稿

猜你喜欢

  • Python中match语句的详细用法实例

    2023-06-29 11:28:46
  • asp读取xml实例代码

    2011-03-08 11:13:00
  • php实现的微信分享到朋友圈并记录分享次数功能

    2023-10-17 04:32:14
  • Oracle字符集修改查看方法

    2009-11-05 21:45:00
  • Pandas统计计数value_counts()的使用

    2023-11-24 10:28:46
  • go swagger生成接口文档使用教程

    2023-10-20 12:31:35
  • python数据结构leetcode338比特位计数算法

    2023-05-06 21:24:33
  • Python定时发送消息的脚本:每天跟你女朋友说晚安

    2023-05-26 02:47:14
  • python基于phantomjs实现导入图片

    2023-07-18 23:39:42
  • 深入了解Python 中线程和进程区别

    2021-09-01 20:51:38
  • [js效果] 图片加载进度实时显示

    2007-09-12 19:27:00
  • python递归下载文件夹下所有文件

    2023-08-07 07:21:55
  • AI与Python人工智能启发式搜索概念理解

    2021-08-05 03:56:28
  • sql数据库批量处理脚本

    2011-11-03 17:23:19
  • Python使用 Beanstalkd 做异步任务处理的方法

    2021-01-06 18:18:19
  • 在ASP.NET 2.0中操作数据之四十六:使用SqlDataSource控件检索数据

    2023-07-04 14:31:37
  • 一个网页设计师的成长经历

    2008-05-27 12:38:00
  • 如何使用pycharm连接Databricks的步骤详解

    2023-01-28 23:19:03
  • 简单实用的图片播放器1.0(Javascript + css )

    2008-07-16 10:39:00
  • aspjpeg组件安装问题

    2008-09-27 17:52:00
  • asp之家 网络编程 m.aspxhome.com