模块(库)初识
库
库就是有人写好的固定功能的打包,有些经常用到的,或者实现特殊功能的,打成包,方便以后自己用或者给他人用。
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。
标准库就是python官方提供的,开发者最最经常用到的功能。比如前面我们提到的getpass包,给输入加密,这很常用,官方就提供了。
第三方库就是我们自己写的,或者别人写的,满足自己需求或者标准库没提供,别人写完分享的库。
模块调用方法,就是在程序
sys模块
python中库中的方法使用通过“.”表示下级。例,sys.path表示sys库中的path方法。
path方法
首先运行下列代码:
1 import sys 2 print(sys.path)
结果为
['C:\\Users\\11701\\learning\\python\\class1', 'C:\\Users\\11701\\learning', 'C:\\python\\Python36\\python36.zip', 'C:\\python\\Python36\\DLLs', 'C:\\python\\Python36\\lib', 'C:\\python\\Python36', 'C:\\python\\Python36\\lib\\site-packages']
大家知道windows中有环境变量,环境变量什么意思呢,就是当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到那些目录下去找。例如你在windows中运行cmd,cmd中运行的规则就是运行当前文件夹下的程序,例如你现在处于D盘下qq文件夹,qq文件夹下有qq.exe。这时只有在你处于qq文件夹下,才能打开qq.exe。但是在cmd中任意一文件夹下输入ping然后回车,会发现ping依然能够运行。这是因为,有些系统常用的一些程序,会放到环境变量(path)中,环境变量中的内容无论在哪个文件夹下执行都能被执行。
PS:老蔡对于环境变量有自己的理解,做个比喻,程序作为我们使用的工具(比如锤子、镰刀、斧头、电钻),电脑是储存这些工具的工具箱,程序在电脑中存放的位置是一层又一层,那么我们也把工具箱想象成一层又一层的。在我们使用每个工具时,都要一层一层的翻开工具箱,但是有些工具我们使用的特别频繁,比如我经常使用锤子和电钻,每次用都要去翻找,这样就不方便了。所以我们把锤子和电钻放在身上的工具袋里,每次使用工具先找工具袋,工具袋里有这个工具,直接拿出来用。
这个工具袋就是path变量,path就是干这个用的。只不过这个工具袋就像哆啦A梦的口袋,它是直接连接到每个工具的路径,伸手一拿就从一层一层的工具箱中的某个位置拿出来了。
上述程序输出结果并不是windows的环境变量,它是python自己的环境变量,在我们调用模块(库)时,python首先先去结果所述的各个文件夹中去找。
avga方法
avga方法可以将外部输入传入程序。
我们首先写下列代码:
1 import sys 2 print(sys.argv[1])
上述代码写完后将其保存成.py文件,即python的可执行文件。我这里保存成了sysLearning.py。
然后在命令提示符(cmd)下用python执行该程序,并在后面加空格输入参数,“123”为第一个参数,“23”为第二个参数。
可以看到,程序返回了第1个参数,说明参数传入程序然后print出来,传入程序的数若进行处理就可以完成交互。
PS:这里sys.argv[1]其实并不是第一个参数,其实传入程序的参数本质是一个列表,一般的编程语言(包括python)数组和列表等等这些数据的位置都是从0开始数,这个函数返回的第一个数据是这个程序所在的路径,可以输出sys.argv[0]来查看。
os模块
同样的,这也是一个python提供的标准库
import os print(os.getcwd())
该代码会打印程序当前工作目录。
关于这两个模块具体方法以后细讲,目前主要解释导入模块的一种简单方法。