1、模块的简介
模块化 指的是将一个完整的程序分解成一个一个小模块
通过将模块组合,来搭建出一个完整的程序
使用模块化的优点
1、方便开发
2、方便维护
3、模块的复用
2、模块的创建
在python中一个py文件就是一个模块
在一个模块中引入外部模块
第一种,import 模块名(模块名指的就是python的文件名)
可以引入同一个模块多次,但是模块的实例只会创建一次
1.1、创建模块
首先创建一个文件
test_m.py
print('aaa')
创建第二个文件:模块.py
第一种导入模块方式
import test_m #导入test_m模块
print(test_m)
执行“模块.py”返回值:
aaa
<module ‘test_m’ from ‘G:\python\pycharmPro\test_m.py’>
第二种导入模块方式,给模块起个别名(输出结果跟第一种一样)
import test_m as t
print(t)
执行“模块.py”返回值:
aaa
<module ‘test_m’ from ‘G:\python\pycharmPro\test_m.py’>
1.2 name
在每一个模块内部都有一个__name__,通过它可以获得模块的名字
__name__属性值为__main__的模块是主模块,一个程序当中也只有一个主模块
主模块就是通过python执行的模块
第二种 import 模块名 as 模块别名
修改test_m模块
print(name)
返回值:main
import test_m as test
print(test)
返回值:
test_m
<module ‘test_m’ from ‘G:\python\pycharmPro\test_m.py’>
2、使用模块
2.1引入模块中全部内容
访问模块中的函数 语法是:模块名.函数名
访问模块中的对象 语法是:模块名.对象名
访问模块中的对象 语法是:模块名.对象名
下面来看一组实例:
test_m.py 代码如下:
a = 1
b = 2
def test1():
print('test1')
def test2():
print('test2')
class Person():
def __init__(self):
self.name = '葫芦娃'
模块.py 代码如下:
import test_m
print(test_m.a,test_m.b)
test_m.test1()
test_m.test2()
p = test_m.Person()
print(p.name)
执行模块.py 返回值:
1 2
test1
test2
葫芦娃
2.2 我们也可以引入模块中部分内容
语法是:from 模块名 import 变量,变量,变量…
from test_m import test1,test2,Person
当我们不知道模块中都有哪些方法时,也可以用星号号代替
from test_m import *
这种方式相当于把导入模块的代码复制到主模块中
下面代码比较一下两种导入方式,看看有什么不同
test_m.py
def test1():
print('我是主模块中的test1')
test2.py
from test_m import test1
test1()
执行 test2.py 返回值:
我是主模块中的test1
test3.py
import test_m
test_m.test1()
执行 test3.py 返回值:
我是主模块中的test1
2.3 给导入模块起一个别名
from test_m import test1 as new_t
new_t()
返回值:test1
2.4 隐藏模块的调试信息
test_m.py 代码如下:
a = 1
b = 2
def test1():
print('test1')
def test2():
print('test2')
class Person():
def __init__(self):
self.name = '葫芦娃'
if __name__ == '__main__'
p = Person()
print(p.name)
test()
模块.py
import test_m as t
t.test2()
执行 模块.py 返回值:test2