模块与包
1、模块导入
方法:1、import 模块名
2、import 模块名 as 模块别名
3、from 模块名 import 函数名/属性/子模块名(用from可以不写模块名)
from 模块名 import *:导入模块的全部。
2、模块路径
python自带的模块或者是第三方库,在安装时,系统会自动将模块的存放路径记录在sys.path列表中,再导入时,python解释器会根据sys.path记录的路径去寻找要导入的模块。
如何能让解释器知道路径?有两种方法:
1、在列表里添加路径。
2、修改系统环境变量的值。
3、命名空间
命名空间表示标识符的可见范围。标识符就是用来标识某个对象的,包括变量名、函数名、模块名、类名等。
如果使用‘from 模块名 import 函数名/属性/子模块名’方式导入时,一定要注意不同的模块里不要存在相同的标识符。
4、name:
python中为了区分代码块是单独运行,还是作为模块导入到另一个代码中运行,通过对模块的____name____属性值的判断来进行识别。
如果有函数、类的定义,则都进行这样的判读,增加一个"if____name____ == ’main’:"的判断。
import math
def prime_judg(s):
for i in range(2,int(math.sqrt(s)+1)): #判断是否是素数
if s % i == 0:
break
else:
return True
if __name__ == '__main__': #判断是否有函数、类的定义
print(prime_judg(13))
5、包
包就是把模块分类存入不同的文件夹,然后文件夹里创建一个____init____.py文件。
init.py文件是包的标志,每个包里必须包含一个,此文件可以是空的,也可以写入一些初始代码。
有了包之后导入模块时,需要加上报的名称,“报名.模块名"。
6、标准库
一、math模块
此模块中有大量常用数学计算函数,如:三角函数、反三角函数、对数函数、还有数学常量pi、e等。
二、random模块
此模块主要用来生成随机数的。
三、time模块
time模块是和时间有关的模块。
时间元组各项含义:
import time
print(time.localtime()[0])
print(time.localtime()[1])
print(time.localtime().tm_hour)
print(time.localtime().tm_min)
运行结果为
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VDBRPumF-1685766659786)(C:\Users\30967\AppData\Roaming\Typora\typora-user-images\image-20230603120824816.png)]
时间格式化参数含义(常见的列出):
四、datetime模块
(1)当前时间now()函数
datetime.datetime.now()
(2)当前时间today()函数
datetime.datetime.today()
(3)当前日期date()函数
datetime.datetime.now().date()
(4)时间元组timetuple()函数
datetime.datetime.now().timetuple()
(5)时间计算timedelta()函数
使用datetime.timedelta()这个方法来前后移动时间,可以用的参数有:weeks,days,hours,minutes,seconds,microseconds。
(6)格式化转换surftime()函数
格式化参数同time模块的surftime()函数。
(7)当前时间today()函数-date子模块
datetime.date.today()
五、urllib模块
urllib模块用于对url进行处理的,爬取网页时,经常使用这个模块。
import urllib.request#导入模块
baidu = urllib.request.urlopen('https://www.baidu.com')#打开网页
print(type(baidu))
html = baidu.read()#读取网页内容
print(type(html))
file = html.decode('utf-8')#进行解码
print(file)