模块

一、什么叫做模块

  • 模块的英文为Modules
  • 一个模块中可以包含多个函数
  • 在python中一个拓展名为.py的文件就是一个模块

二、使用模块的好处

  • 方便其他程序和脚本的导入并使用
  • 避免函数名和变量名冲突
  • 提高代码的可维护性
  • 提高代码的可重用性

三、自定义模块

1、创建模块

新建一个.py文件,名称尽量不要与python自带的标准模块名称相同

2、导入模块

import 模块名称 【as 别名】

import math  #导入关于数学运算的模块

print(math)
print(id(math))
print(type(math))

print('________________________________')
print(dir(math))
print(math.pi)                           #可以发现就是Π的值
print(math.pow(2,3),type(math.pow(2,3))) #pow就是指数的意思

print(int(math.pow(2,3)))                #可以发现转为int类型后就不会有小数
print(2**4)
print(type(2**4))
print(math.ceil(9.0001))                 #ceil:天花板,直接进不舍
print(math.floor(9.999))                 #floor:地板,全部舍弃,不进

from 模块名称 import 函数 / 变量 / 类

#只导入指定的内容——pi
from math import pi
print(pi)

运行结果:

3.141592653589793

3、导入自定义模块

自定义模块文件calc:

#自定义模块
def Add(a,b):
    return a+b

def Div(a,b):
    return a/b

调用模块文件:

#导入自定义的模块calc
import calc
print(calc.Add(10,30))
print(calc.Div(10,4))

from calc import Add
print(Add(10,30))

运行结果:

40
2.5
40

补充:在调用自定义模块文件时,如果报错,可以这样设置

 

 

 4、以主程序形式运行

在每个模块的定义中都包含一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其他程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__

模块文件:

#模块调用
def Add(a,b):
    return a+b

print(Add(10,20))

调用文件:

#调用calc模块
import calc2

print(calc2.Add(10,50))

运行结果:

30
60
#在这里,我们可以发现,即使我们调用的是Add(10,50),但是我们在调用calc2模块的时候总会导致调用Add(10,20)。也就是会多输出一个数据

解决办法:修改calc模块文件

#模块调用
def Add(a,b):
    return a+b

if __name__ == '__main__':  #将Add(10,20)装入main中
    print(Add(10, 20))
posted @ 2021-07-12 09:48  小秦同学在上学  阅读(335)  评论(0编辑  收藏  举报