进阶第三课 Python模块简介

一、前面我们说过,Python自从出世以来,就是免费、开放的。如今造就了数目庞大的模块:有些模块在安装Python时也一并安装,有些模块需要另行安装。那么问题来了,模块是什么?

对于Python而言,模块是若干功能的集合。

一个模块有自己的属性,就像一个人有自己的姓名、身高、体重、性别。。。

一个模块也有自己的方法。所谓方法,就是这个模块能做的事情。举个栗子-_-!!

>>>import time
>>>a=time.time()
>>>print(a)

分析一下:

1)既然是模块,就只有在导入(有的模块需要自行安装,还涉及包依赖,以后会讲到)。格式是:import 模块名

上面的就是导入了time(日期和时间模块)。

2)然后新建了一个变量a,并赋值。赋的是什么值呢?time.time,第一个time是模块名,中间用点号隔开,后面的time是这个模块中的方法名。

3)打印a

来一起看下打印结果

>>> import time
>>> a=time.time()
>>> print(a)
1522146472.0563416

这里time.time()返回了一个数值,这个数值的单位是“秒”。这里以1970年1月1日零时为起点,到当前时间为止一共有多少秒。

另外介绍2个常用的导入模块的方法,与上述介绍的稍有不同:

1、import module as shortname

可以给导入模块指定一个简写名,看示例:

>>> import time as t
>>> t.time()
1523328759.498963

给导入的time模块指定了一个名称t,使用时t就是代表模块名time

2、from module import class

2.1 只导入一个模块中的一个或几个类(也就是函数),该模块里面的其他未导入类无法使用,还能避免代码冲突(也就是你定义的变量名可以是未导入类的名称)

2.2 与import module最大的不同,在于这样导入时,无需书写模块名。

>>> from time import time
>>> time()
1523328986.062922
>>> import time
>>> time.time()
1523329029.7764225

3、from module import *

这样一来,既可以一次导入模块中所有的类,还可以在使用中不需书写模块名。唯一的问题是由于没有显性写出类的名称,容易引起编码冲突。

>>> from time import *
>>> time()
1523329194.95287

二、如果想知道一个模块有哪些属性、哪些方法,可以先import导入,然后使用dir()这个命令。

>>> import time
>>> dir(time)
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname']

第三行中,‘__doc__'这类格式的是这个模块的属性,‘clock‘这类格式的是这个模块的方法。

三、如果想看这个模块的介绍,可以使用help()

help(time)

四、除了time这个内置模块,常用的内置模块(也称“标准库”)还有很多:os、re、math、copy、sys、string、random、code。。。

需要自己安装的模块(也成“第三方库”)就更多了,常用的比如numpy、pandas、scrapy。。。

这些模块都有自己的特长,今后我们会在示例中一边使用一边讲解。

posted @ 2018-03-28 20:59  驼背蜗牛  阅读(214)  评论(0编辑  收藏  举报