模块的定义
定义:Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
模块让你能够有逻辑地组织你的 Python 代码段。
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
模块能定义函数,类和变量,模块里也能包含可执行的代码。
包括:内置模块,自定义模块,第三方模块;
模块的作用
最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。
当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,
包括Python内置的模块和来自第三方的模块。使用模块还可以避免函数名和变量名冲突。
相同名字的函数和变量完全可以分别存在不同的模块中,
因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。
但是也要注意,尽量不要与内置函数名字冲突。
模块的导入
import导入模块执行的操作:
- 产生一个新的名称空间;
- 在新建的名称空间俩面执行模块(.py)的内容
- 拿到了一个模块名, 执行模块文件产生的名称空间.
import …. as …
对于导入的模块重命名
from …. import ……
from …. import ….. as ….
从模块里面导入函数, 变量, 装饰器等…..
例:
在包Pack01下有mytimeit 和 init文件,每次调用Pack01下任何内容都会默认执行init 文件:比如在init文件中写入打印hello world
import Pack01.mytimeit
j结果:hello world
导入过程中遇到的问题
问题: 导入模块时, 模块里面执行代码结果也会显示
解决方法:
name, 所在文件没有当作模块导入是, 结果为main;
name, 所在文件被当作模块导入是, 结果为模块的名称;
判断模块是否被导入, 如果没有被导入, 则执行下面的代码.
if name == “main“:
print(“这是写好的模块里面的显示…….”)
print(timeit(hello))
print(name)
all决定用来控制from xxx import *导入的内容
如何安装模块
- pip3 install 模块名
- 通过pycharm安装模块
模块中默认路径的查找
模块的查找顺序: 内存中已经加载的模块 –> 内置模块 > sys.path目录里面的模块
内存中已经加载的模块 :
sys.modules查看, python解释器启动式默认会加载的模块内容.
注意:
自定义,模块千万不要跟内置模块冲突.
import sys
for i,v in sys.modules.items():
print(i,v)
结果:截取结果的部分
第三方模块的引用(itchat)
1.给手机发送消息
import itchat
itchat.auto_login()
itchat.send('hello,python',toUserName='filehelper')
2.统计微信好友各性别的人数
import itchat
itchat.auto_login()
info = {}
for friend in itchat.get_friends():
if friend['Sex'] == 1:
info['male'] = info.get('male',0) + 1
elif friend['Sex'] == 2:
info['female'] = info.get('female',0) + 1
else:
info['other'] = info.get('other',0) + 1
print(info)
结果: