1.模块
模块是函数功能的扩展,模块是可以实现一项或多项功能的程序块。我们从其定义可以发现,函数是一段程序,模块是一项程序块,也就是说函数和模块都是用来实现功能的,但是模块的范围比函数要广,在模块里面,可以重用多个函数。
1.1 sys模块
在Python中有一些模块是不用我们自己去定义,Python官方提供的自带的模块,这些模块伴随的Python的安装而产生,我们把这些模块叫做标准库模块。标准库模块是一类模块,而不是特指某一种模块。标准库模块中,也有非常多的模块,有的模块与电子邮件有关,有的模块与操作系统相关,还有的模块与系统功能有关,等等。我们把在标准库中与系统功能有关的这些模块称之为sys模块。
sys.version 返回编译器版本
sys.executable 返回当前路径
sys.getwindowsversion() 返回windows信息
sys.modules.keys() 返回导入的关键字信息。
2.字节编译
2.1 .pyc文件
.py经过编译就变成.pyc文件。
2.2 字节编译与编译的区别
把模块编译成二进制语言程序的这个过程叫做字节编译。记得我们之前提到过,Python是一种解释型语言,而不是一种编译型语言,那么为什么现在又说Python中有字节编译呢?很多人认为,Python中出现字节编译,那么Python就应该是一种编译型语言。其实这种观点是不正确的。Python中虽然出现了编译这个过程,但是Python中编译的过程是在Python的解释器中发生的。换句话来说,其实每种程序要想让计算机执行,都只能变成二进制的形式,编译型语言是指在软件中就有一个独立的编译模块去将程序编译,而Python中字节编译这部分功能是由解释器完成的,所以Python仍然是解释型语言。
2.3 .pyc的产生
3.from...import
Python中导入一个模块的方法我们可以使用import,但是import只是导入了这个模块,而并没有导入我们模块的某个属性或方法。而我们要不仅导入一个模块,还有导入模块中对应的一个功能,我们可以使用from…import语句。(from 模块 import 方法)
在Python中使用from…import语句只能一次导入一个模块的一个功能,我们如果要想一次性把这个模块的所有功能,也就是所有属性与方法都导入的话,我们可以使用from…import*语句。
4 __name__属性
4.1 主模块
我们Python函数中,如果一个函数调用其他函数完成一项功能,我们称这个函数为主函数,如果一个函数没有调用其他函数,我们这种函数叫做非主函数。模块也类型,如果一个模块是被直接使用的,而没有被别人调用,我们称这个模块为主模块,如果一个模块被别人调用,我们这种模块叫做非主模块。
在Python中有主模块与非主模块之分,那么如何区分主模块与非主模块呢?是这样的,如果一个模块的__name__属性的值是__main__,那么就说明这个模块是主模块,反之亦然。其实我们可以把__name__看作一个变量,这个变量是系统给出的,这个变量的功能是判断一个模块是否是主模。
5. dir函数
Python中有非常多的模块,但是有的时候我们会忘记一个模块有哪些功能。这个时候,我们可以用dir()函数来查看一下指定模块的功能列表。
先导入后查看。