模块与包

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)
06-03 15:23