目录
一、什么叫模块
模块中可以包含N个函数,N个类以及无数语句。然后类里面又有方法、属性。。。。模块之间不会互相影响。
程序的构成如下图:
为什么要使用模块化编程呢?
可以将任务分为N多个模块,每一个模块可以让不同的人员去开发,这就便于团队开发,也可以进行代码复用。
二、自定义模块以及模块的导入
1、普通模块的导入方法
创建模块时,也就是创建一个.py文件,并且模块名字不要与Python里面的函数名一样,见名知意即可。
除了自己创建模块,还可以导入模块,导入方法如下图所示:
可以使用import 模块名称进行导入模块:
还可以使用from 模块名称 import函数/变量/类的方式进行导入:
我们看到第六行报错了,这是因为没有导入math模块的pow函数。加上一个from math import pow即可。
通过上面的两个导入方式我们可以看到,使用第一种方式进行导入模块时,导入的是模块全部的函数,而使用第二种方式导入时,它只导入了选中的函数。
2、自定义模块的导入方法
假如有一个叫calc的模块,里面有求和和除法运算:
然后我们想在13-1模块里面调用它,当我们使用调用模块的格式时,显示是报错的:
这个问题要这样解决:
对calc所在的文件夹右键,然后点击“标记目标为”,然后点击“源根”即可,此时的chap13文件变成了蓝色,但是13-1不报错了。并且能输出正确结果。
三、以主程序形式运行
1、什么是以主程序形式运行
2、问题来源
我们定义了一个calc2模块,并在第七行进行了输出。然后在13-2里面我们想用这个模块去做加法,我们会发现输出结果为:
他输出了两个东西,但是我们只想要5,所以那个3我们要去掉它。
3、解决方法
给calc2模块里面加上7行的代码即可:
7,8行的意思是只有运行calc2时他才会执行第八行的代码。在其他模块使用add函数时不会运行第八行的代码。
结果如下: