模块目录:

  1.模块简介

  2.自定义模块

  3.reload()

  4.模块搜索路径

  5.包

 

 


1.模块简介

在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里面代码就会越来越长,越来越不容易维护。

为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个 .py 文件就称之为一个模块(Module)。

即:

1、包含我们定义的函数以及变量的文件,以''.py''为后缀名。

2、模块可以被其他的程序引用,以使用该模块中的函数或数据。

模块的优点:

1.提高了代码可维护性
2.提高了代码的复用性
3.可以导入很多功能模块 ( 标准库模块,自定义模块,第三方模块)
4.避免了变量名重复

Python中导入模块的方法的简单形式主要有以下几种:

# 方式一
import  包名.模块名 [as 别名]

# 方法二
from  包名  import  模块名
from  包名.模块名  import  变量|函数|类

注意:方式2不建议一次性将模块中的所有 变量\函数\类 导出,不建议使用 * 号

区别:

  import  模块名、import 模块名 as 新名称、from 包名 import 模块名

  • 会导入整个模块
  • 如果需要使用其中的某一个函数,必须以"模块名.函数名()"的形式调用函数。(通常这种方法,更有利于 增强代码的可读性,优先推荐使用该种方法) 
  • import 模块名 as 新名称 用来重新命名导入的模块,以使名称简便,方便使用


from 包名.模块名 import 变量|函数|类
  • 只是导入模块中的某一函数,而不是导入整个模块。   
  • 可以直接使用函数名称调用函数,无须再在其前加上"模块名"。 

    如果程序语句非常多,我们不建议采用"from模块名import 函数名"这种方式,因为采用这种方式调用函数时, 我们直接使用函数名称调用函数,当程序语句非常多,我们调用了很多模块后,可能造成函数名重名,引发错 误,而"模块名"的方式则会避免这种情况的发生。 

    例子: 以Python内建的calendar模块为例,其名称为calendar.py,里面定义了一些日历格式。只要使用import指令 导入此模块,就可以使用calendar模块了 

import

import calendar

print(calendar.month(2019, 4))
print(calendar.isleap(2016))  # 判断是否是闰年  


#结果
     April 2019
Mo Tu We Th Fr Sa Su
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

True

import ...as...

import calendar as cal    # 起别名

print(cal.month(2019, 4))
print(cal.isleap(2019))  # 判断是否是闰年

# 结果
     April 2019
Mo Tu We Th Fr Sa Su
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

False

from...import...