1.模块介绍
1.问:使用模块有什么好处?
答:最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块。
2.问模块分哪几类
答:模块一共三种:
1.python标准库
2.第三方模块
3.应用程序自定义模块
另外,使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突。
2.模块导入方法
1 import 语句
import module1[, module2[,... moduleN]
import time
当我们使用import语句的时候,Python解释器是怎样找到对应的文件的呢?答案就是解释器有自己的搜索路径,存在sys.path里。
import sys
print(sys.path)
--------------------------------------
['C:\\Users\\lijun\\PycharmProjects\\study_200615', 'C:\\Users\\lijun\\PycharmProjects\\study_200615', 'D:\\software\\Python\\Python37\\python37.zip', 'D:\\software\\Python\\Python37\\DLLs', 'D:\\software\\Python\\Python37\\lib', 'D:\\software\\Python\\Python37', 'C:\\Users\\lijun\\PycharmProjects\\study_200615\\venv', 'C:\\Users\\lijun\\PycharmProjects\\study_200615\\venv\\lib\\site-packages', 'C:\\Users\\lijun\\PycharmProjects\\study_200615\\venv\\lib\\site-packages\\setuptools-39.1.0-py3.7.egg', 'C:\\Users\\lijun\\PycharmProjects\\study_200615\\venv\\lib\\site-packages\\pip-10.0.1-py3.7.egg', 'D:\\JetBrains\\PyCharm 2018.3.1\\helpers\\pycharm_matplotlib_backend']
python解释器会从上述路按照导入的模块名称找对应模块,先从执行文件所在的文件夹找,再去 'D:\software\Python\Python37\lib(标准库模块所在文件夹),故文件命名尽量不要和标注库模块重名好,以防止引起不必要麻烦,
即,在当前目录下存在与要引入模块同名的文件,就会把要引入的模块屏蔽掉
2 from…import 语句
from modname import name1[, name2[, ... nameN]]
from time import sleep
sleep(10)
这个声明不会把整个模块导入到当前的命名空间中,只会将模块里面的name1或name2单个引入到执行这个声明的模块的全局符号表。
3 From…import* 语句
from modname import *
from time import*
sleep()
time()
这提供了一个的方法来导入一个模块中的所有项目。大多数情况不这样用, 因为引入模块内的所有方法,你不清楚里面有多少方法都是什么名字,很可能覆盖了已有的同名函数。
3常用标准库模块介绍
问:常用模块有哪些?
答:
time模块(☆☆☆☆)
random模块(☆☆)
os模块(☆☆☆)
sys模块(☆☆☆)
json & pickle(☆☆☆☆)
shelve模块(☆☆☆)
xml模块(☆☆)
configparser模块(☆☆)
hashlib模块(☆☆)
subprocess模块(☆☆☆☆)
logging模块(☆☆☆☆☆)
re模块(☆☆☆☆☆)