导入:
在实际开发中,Python的很多功能都有了成熟的第三方实现,不需要开发者“重复造轮子”。
当开发者需要完成某种功能时,可以通过搜索引擎搜索,通过都可以找到第三方在Python中为该功能的扩展模块。
Python本身也内置了大量的模块,对于常规的日期、时间、正则表达式、JSON支持、容器类等,已经非常的完备,我们可以首先学习这些内置的常用模块。
一、sys
1. sys模块代表了Python解释器,主要用于获取与Python解释器相关的信息。
2.查看sys模块的所有程序单元:
>>> import sys
>>> [e for e in dir(sys) if not e.startswith('_')]
运行结果为列了sys模块中所包含的所有程序单元,其中大部分我们通过都不会使用到它们。
3. sys常用的属性和函数:
>>> print(sys.copyright) # 解释器有关的版权信息
>>>print(sys.executable)#解释器在磁盘中的存储路径
>>>print(sys.maxsize)# 显示Python支持整数的最大值
>>>print(sys.version)#解释器的版本信息
二、os
1. os模块代表了程序所在的操作系统,主要用于获取程序运行所在的操作系统的信息。
2. 查看os模块所有程序单元:
>>> import os
>>> os.__all__
3. os常用的属性的函数:
>>>print(os.name)# 导入依赖模块的操作系统名称
>>>print(os.getenv('PYTHONPATH') 获取环境变量的参数
>>>print(os.getlogin())#返回系统登录的用户名
>>>print(os.getpid()) #获取当前进程的ID
三、random
1. random模块主要包含生成伪随机数的各种功能和变量。
2. 查看random所有程序单元:
>>> import random
>>> random.__all__
3. random包含的常用属性和函数:
>>>print(random.random()) # 生成0.0<=X<=1.0之间的伪随机浮点数
>>>print(random.uniform(2.5,10.0)) # 生成2.5<=X<=10.0之间的伪随机浮点数
>>>print(random.randrange(10))# 生成1-9之间的伪随机整数
>>>print(random.randrange(0,101,2)生成0-100之间的伪随机偶数
>>>print(random.choice['a','b','c','d'])# 随机抽取一个元素
>>>print(random.sample([10,20,30,40,50], k=4) # 随机抽取四个独立的元素
四、 time
1. time模块主要包含各种提供日期、时间功能的类和函数。
2. 查看time所在程序单元:
>>> import time
>>> [e for e in dir(time) if not e.startswith('_')]
3. time包含的常用属性和函数:
>>> print(time.asctime()) # 将当前时间转换成时间字符串
>>>print(time.time())# 返回从1970年1月1日0点整到现在过了多少秒
>>>print(time.timezone)# 返回本地时区的时间偏移,以秒为单位
五、JSON (爬虫部分详解)
1. 什么是JSON?
JSON全称是:JavaScript Object Notation, 即JavaScript对象符号。
JSON是一种轻量级、跨平台、跨语言的数据交换格式,被广泛应用于各种语言的数据交换中。
2. JSON的两种数据结构:
1)由key_Value对组成的数据结构,在Python中是一种dict对象。
2)有序集合,在Python中对应于列表。
3. Python 的JSON支持:它包含了将JSON字符串恢复成Python对象的函数,也提供将Python对象的函数转成JSON字符串的函数。
六、 正则表达式(爬虫部分详解)
1. 正则表达式(Regular Expression):用于描述一种字符串匹配的模式(Pattern),它可以用于检查一个字符串中是否包含子串,也可以用于从字符串中提取匹配的子串,或者对字符串中匹配的子串执行替代操作。
2. 任意字符串都可以当成正则表达式来使用,例如'abc'就是一个正则表达式,只是它只能匹配字符串'abc'。
3.正则表达式或以用于开发数据抓取或网络爬虫程序。
4. 查看re模块所包含的全部属性和方法:
>>> import re
>>> re.__all__
5. 以split()函数为例示范用法:
>>> print(re.split(',','abc,ade,bad,fif')) # 以逗号‘ 进行分割
['abc', 'ade', 'bad', 'fif']
>>> print(re.split('a','abc,ade,bad,fif'))# 以字母a 进行分割
['', 'bc,', 'de,b', 'd,fif']
>>> print(re.split('x','abc,ade,bad,fif'))#以字母x进行分割,没有匹配内容则不分割
['abc,ade,bad,fif']
七、本节回顾
1. 如何使用sys模块的函数?
2. 如何使用os模块的函数?
3. 如何使用random模块生成随机数?
4. 如何使用time模块?
5. JSON和正则表达式的主要功能?