当前位置: 首页 > article >正文

Python学习(十三)什么是模块、模块的引入、自定义模块、常见的内置模块(math、random、os、sys、uuid、时间模块、加密模块)

目录

    • 一、什么是模块?
      • 1.1 定义
      • 1.2 分类
      • 1.3 五种模块引入的方法
        • 1)import 模块名(全部引入)
        • 2)from 模块名 import 功能名(部分引入)
        • 3)from 模块名 import *(引入公共功能)【不推荐】
        • 4)import 模块名 as 别名(设置模块别名)
        • 5)from 模块名 import 功能名 as 别名(设置功能别名)
      • 1.4 模块的搜索目录
      • 1.5 如何自定义模块
    • 二、常见的内置模块
      • 2.1 math 模块(数学运算)
      • 2.2 random 模块(伪随机数)
      • 2.3 os 模块(操作系统文件)
      • 2.4 os.path 子模块(操作路径)
      • 2.5 sys 模块(Python解释器交互)
      • 2.6 uuid 模块(唯一标识符)
      • 2.7 时间模块
        • 1)time 模块
        • 2)datetime 模块
        • 3)calendar 模块
      • 2.8 加密模块
        • 1)hashlib 模块
        • 2)hmac 模块

在介绍常用的模块用法前,我们先来回顾一下模块的内容,以及如何使用模块?

一、什么是模块?

1.1 定义

在 Python 中,将实现莫伊特定功能的代码放置在文件中,以便其它程序进行导入使用,这种方式可以避免函数名或变量名的冲突,这种文件称为 模块(Modules),格式为 扩展名.py

  • 模块 = 函数 + 类 + 变量

打开 python 的安装包,可以看到 Lib 文件夹下全是模块。

1.2 分类

在 Python 中,模块分为 内置模块自定义模块 两种。

  • 内置模块:目前 Python 内置模块大概在 200 多个,如:
模块名描述
sys与 Python 解释器及其环境操作相关的标准库。
time提供与时间相关的各种函数的标准库。
os提供了访问操作系统服务功能的标准库。
calendar提供与日期相关的各种函数的标准库。
urllib用于读取来自网上(服务器上)的数据的标准库。
json用于使用 JSON 序列化和反序列化对象。
re用于在字符串中执行正则表达式匹配和替换。
math提供算数运算函数的标准库。
decimal用于进行精确控制运算精度、有效位数和四舍五入操作的十进制运算。
shutil用于进行高级文件操作,如复制、移动和重命名等。
logging提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能。
tkinter使用 Python 进行 GUI 编程的标准库。
  • 自定义模块:来自第三方提供的模块。

1.3 五种模块引入的方法

  • import 模块名
  • from 模块名 import 功能名
  • from 模块名 import *
  • import 模块名 as 别名
  • from 模块名 import 功能名 as 别名

(导入多个模块或功能时,用英文逗号分隔)

1)import 模块名(全部引入)

这是最基本的导入方式,它将整个模块导入到当前命名空间中。

  • 格式:import 模块名

  • 使用方法:模块名.功能名()

  • 特点:

    1. 导入整个模块
    2. 需要使用模块名作为前缀来访问模块中的功能(如函数、类等)。
    3. 可以避免命名冲突,因为所有引用都明确指出是哪个模块的功能。
  • 使用示例:

import math
print(math.sqrt(9)) # 求平方根
2)from 模块名 import 功能名(部分引入)

这种方式只导入模块中的特定功能(如函数、类等),而不是整个模块。

  • 格式:from 模块名 import 功能名
  • 使用方法:功能名()
  • 特点:
    1. 只导入指定的功能,减少了内存占用。
    2. 不需要使用模块名作为前缀,直接调用功能名称即可。
    3. 如果导入多个功能,可以使用英文逗号分隔。
  • 使用示例:
from math import sqrt, pow
print(sqrt(9)) # 求平方根
3)from 模块名 import *(引入公共功能)【不推荐】

这种方式会导入模块中的所有公共功能(即没有以下划线 _ 开头的功能)。

  • 格式:*from 模块名 import
  • 使用方法:功能名()
  • 特点:
    1. 导入模块中的所有公共功能。
    2. 不需要使用模块名作为前缀,直接调用功能名称即可。
  • 使用示例:
from math import *

print(sqrt(16)) # 计算16的平方根
print(pow(2, 3)) # 计算2的3次方

注意: 这种方式可能会导致 命名冲突,因为它会将所有导出的功能引入当前命名空间。因此,通常不推荐在大型项目或生产环境中使用。

4)import 模块名 as 别名(设置模块别名)

这种方式允许为导入的模块指定一个别名,方便在代码中使用更短的名字来引用模块。

  • 特点:
    1. 给模块起一个简短的别名,便于频繁使用时减少输入量。
    2. 特别适合于长模块名的情况,如 pandas 常用 pd 作为别名。
    3. 仍然需要使用别名作为前缀来访问模块中的功能。
  • 使用示例:
import numpy as np

array = np.array([1, 2, 3])
print(array) # 输出:[1, 2, 3]

注意: 设置别名后,不能再使用原有的模块名。

5)from 模块名 import 功能名 as 别名(设置功能别名)

这种方式允许为导入的功能指定一个别名,方便在代码中使用更短的名字来引用该功能。

  • 特点:
    1. 给某个具体的功能起一个别名,便于在代码种使用。
    2. 不需要使用模块名作为前缀,直接调用别名即可。
    3. 适用于当功能名较长或容易与其它名称冲突时。
  • 使用示例:
from datetime import datetime as dt

print(dt.now()) # 输出当前时间

注意: 设置别名后,不能再使用原有的功能名。

1.4 模块的搜索目录

当使用 import 语句导入模块时,默认情况下会按照如下顺序进行模块查找:

  1. 执行 python 文件的当前项目目录;
  2. 环境变量 PYTHONPATH
  3. python 解释器安装目录。

当我们不确定有哪些目录的时候,我们可以 sys.path 查看全量的目录。如下所示:

>>> import sys
>>> sys.path
['', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python310\\DLLs', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python310', 'C:\\Users\\lenovo\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages']

1.5 如何自定义模块

自定义模块的作用:

将相关的代码编写在一个独立的文件中,并命名为 “模块名.py”,这样就可以导入到程序中使用。

注意:自行创建的模块名不能与 Python 自带的标准库中的模块名重名。

举个例子:

  • 创建一个模块文件 prime.py,实现素数判断,代码如下:
def fun_prime(num):
    if num < 2:
        print('请输入大于2的正整数')
    else:
        for i in range(2, num):
            if num % i == 0:
                return 0
        else:
        	return 1

新建一个 python 文件导入上述模块,实现 100 以内的素数判断输出。代码如下:

import prime

for i in range(2, 100):
    if prime.fun_prime(i) == 1:
        print(i, end=' ')

执行结果如下:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 

自定义模块中的功能测试:

  • 作用:编写完自定义模块后,最好在模块内部对代码进行测试,以防出现问题。
  • 魔法方法: __name__,每个模块中都会有一个字符串变量,记录模块名称,随着运行页面的不同,返回值结果也不相同。
  • 当前页面执行:返回值为 __main__
# 功能函数
def fun_prime(num):
    if num < 2:
        print('请输入大于2的正整数')
    else:
        for i in range(2, num):
            if num % i == 0:
                return 0
            else:
                return 1

# 测试代码
if __name__ == '__main__':
    if fun_prime(5) == 1:
        print('程序正常')
    else:
        print('程序有误')

执行 python prime.py 即可执行 prime.py 中的测试代码部分,执行结果如下:

以上就是模块的全部内容,下面我们来看一下常用的内置模块。


二、常见的内置模块

2.1 math 模块(数学运算)

math 模块的主要作用是 数学运算

math 模块的常用方法:

方法说明
ceil()(天花板的意思) 向上取整
floor()向下取整 注意:四舍五入(全局函数中的round)
fabs()求绝对值 等价于全局函数abs()
fmod()求模
isnan()判断是不是一个数字(是数字返回flase nan—not a number)
isfinite()判断是不是无限
pow()幂次方
sqrt()根号 开平方根

math 模块的常量:

常量描述
math.e返回欧拉数 (2.7182…)
math.inf返回正无穷大浮点数
math.nan返回一个浮点值 NaN (not a number)
math.piπ 一般指圆周率。 圆周率 PI (3.1415…)
math.tau数学常数 τ = 6.283185…,精确到可用精度。Tau 是一个圆周常数,等于 2π,圆的周长与半径之比。

2.2 random 模块(伪随机数)

random 模块主要用来产生随机数(伪随机数,以当前时间为种子进行计算得到的,存在并发问题)。

random 模块的常用方法:

方法说明
randint()产生随机整数[m,n]
random()产生一个0~1内的随机数[0,1) random.random() 可以乘10取整得到0·9的整数
uniform()产生基于正态分布的随机数(一般用不到)
range()产生一个范围的随机数
choice()在序列(有序的,set是无序的)中随机筛选一个元素 ls=[1,2,3,4,5,6,7,8,9] random.choice(ls) s = {1,2,3,4,5,6,7} random.choice(s)-----报错

查看 random 中的全部变量和方法:

>>> import random
>>> print(dir(random))
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_ONE', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_index', '_inst', '_isfinite', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']

random 模块中的 random() 方法返回一个随机数,它在半开放区间 [0, 1) 范围内,包含 0 但不包含 1。

>>> import random
>>> print(random.random())
0.537791308607761

random 模块中的 seed() 方法可以改变随机数生成器的种子,可以在调用其它随机模块函数之前调用此函数。示例代码如下:

import random

random.seed() # 默认时,数字相同
print('使用默认种子生成随机数:', random.random())
print('使用默认种子生成随机数:', random.random())

random.seed(10) # 使用相同种子,数字依然相同
print('使用整数 10 种子生成随机数:', random.random())
print('使用整数 10 种子生成随机数:', random.random())

random.seed("hello", 2)
print('使用字符串种子生成随机数:', random.random())

执行结果如下:

常用方法:

  • randint(a, b):返回随机一个整数N,满足 a <= N <= b。
  • random.sample(数组,数组长度):返回序列中的随机一个。

2.3 os 模块(操作系统文件)

os 模块操作的是系统的文件系统。例如:

import os
os.system.('cls') # 清屏
print(os.name) # nt:windows操作系统;posix:Linux或Mac操作系统。

os 模块的常用方法:

方法说明
chdir(path)修改当前工作目录 os.chdir(“c:\”)------os.chdir(“…”) ,一般不会更改
curdir获取当前目录 属性 注意返回的是相对路径 (绝对路径os.path.abspath(os.curdir))
chmod()修改权限 主要用在linux,help(os.chmod)(不做演示)
close()关闭文件路径(不做演示)
cpu_count()返回cpu的核对应线程数(2核4线程)
getcwd()获取当前路径,返回的是绝对路径 ,相当于linux的pwd
getpid()获取当前进程的进程编号(任务管理器—详细信息)
getppid()获取当前进程的父进程的进程编号
kill()通过进程编号杀死进程(明白就行)
linesep对应系统下的换行符
listdir()返回对应目录下的所有文件及文件夹(隐藏文件也可以调取出来),返回的是列表
makedirs()创建目录,支持创建多层目录(文件夹)os.makedirs(“a/b/c/d”)
mkdir()创建目录,只支持一层创建,不能创建多层
open()创建文件,等价于全局函数open。
pathsep获取环境变量的分隔符 windows ; linux :
sep路径的分割符 windows \ linux /
remove()删除文件 os.remove(b.text)
removedirs()移除目录,支持多级删除,递归删除
system()执行终端命令

2.4 os.path 子模块(操作路径)

先引入 os 模块,在 os 模块中有个很重要的模块 path,要注意 path 是一个子模块,可以通过 help(os.path) 查看帮助文档。

os.path 子模块的常用方法:

方法说明
abspath()返回路径对应的绝对路径(完整的路径) path.abspath(“.”)
altsep查看python中的各种符号
basename文件名称,shell编程里面也有 path.basename(“路径”)
dirname文件所在的目录,shell编程里面也有
exists()判断文件或者目录是否存在(特别有用,使用爬虫爬取数据的时候需要判断是否有这个文件或者文件夹)
getctime()创建时间
getmtime()修改时间
getsize()获取文件的大小,单位是字节
isdir()判断path是不是目录(文件夹)
isfile()判断path是不是文件
isabs()判断是不是绝对路径
islink()判断是不是连接
ismount()判断是不是挂载文件(Linux下要用的)
join(p1, p2)拼接路径 name=“123.txt” url=“C:/a/b/c” url +“/”+name path.jion(url,name)
sep路径分隔符 url + path.sep +name
split()分割路径 path.split(“C://desktop”)
realpath返回真实路径 和abspath一样

2.5 sys 模块(Python解释器交互)

sys 模块提供了与 Python 解释器及其环境交互的功能。

方法说明
api_version获取当前python的内部版本号
argv()接收脚本参数的,注意第一个参数是脚本名称(javaz中mian函数中有个args) import sys print(sys.argv) ----- python xxx.py 返回的是[“xxx.py”] python xxx.py 1 2 3 hahaha
copyright输出cpython的版权信息
sys.exit()退出系统
getdefaultencoding()获取默认编码, 默认是utf-8(python3),python2的编码是根据系统一致
getfilesystemencoding获取文件系统的默认编码,默认是utf-8
getrecursionlimit获取python对于递归的限制层数
setrecursionlimit(num)重新设置递归的限制层数,注意能不用不要用,以免造成其他的问题
getrefcouont(对象)获取对象的引用计数,是垃圾回收机制中的引用计数 例如:ls=[1,2,3,4] sys.getrefcouont(ls) ----结果是2 (默认有一个引用计数 加上ls) a = ls sys.getrefcouont(ls) ----结果是3 b=ls 结果是4
getwindowsversion()返回窗口的版本信息
verson获取版本信息
  • 代码示例1:退出程序。
import sys
a=2
if a<=2:
    sys.exit(8)
print(a)  # 未执行
#注释:退出python执行程序,下面的代码将不会执行,如同shell中的exit一样。
  • 代码示例2:获取 Python 版本信息。
import sys
print(sys.version)  # 获取版本信息
  • 代码示例3:获取输入信息。
import sys

# sys.stdin.readline() 相当于input,区别在于input不会读入'\n'
aa = sys.stdin.readline()  # 输入数据多一个'\n'
bb = input('请输入:')

print(len(aa))   
print(len(bb))

2.6 uuid 模块(唯一标识符)

uuid 模块用于生成唯一标识符(UUID),通常用于确保标识符在全球范围内的唯一性。

补充:

UUID: 通用唯一标识符 ( Universally Unique Identifier ),对于所有的UUID它可以保证在空间和时间上的唯一性,它是通过MAC地址、 时间戳、 命名空间、 随机数、 伪随机数来保证生成ID的唯一性,有着固定的大小( 128 bit位 ),通常由 32 字节的字符串(十六进制)表示。

Python 的 uuid 模块提供的 UUID 类和函数 uuid1()uuid3()uuid4()uuid5() 来生成1, 3, 4, 5各个版本的UUID ( 需要注意的是:python中没有uuid2()这个函数)。

import uuid

name = 'test_name'
namespace = uuid.NAMESPACE_DNS

a = uuid.uuid1()
print(a, type(a)) # 基于时间戳

b = uuid.uuid3(namespace, name) # 基于名字的MD5散列值
print(b, type(b))

c = uuid.uuid4() # 基于随机数
print(c, type(c))

d = uuid.uuid5(namespace, name) # 基于名字的SHA-1散列值
print(d, type(d))

执行结果如下:

C:\Users\lenovo\AppData\Local\Programs\Python\Python310\python.exe D:\pythonProject\PythonProject2\main.py 
0fd9328b-d0b0-11ef-8b56-1cbfc053d1aa <class 'uuid.UUID'>
7e9fc176-3b19-394a-9530-83391161f8e9 <class 'uuid.UUID'>
f8e6eaeb-c61f-4f28-a1fb-5a04b0c8e7d6 <class 'uuid.UUID'>
ad85ae8c-f638-56e0-b9fc-5d7a58009f62 <class 'uuid.UUID'>

2.7 时间模块

1)time 模块

time 模块主要用于格式化时间,在 Python 爬虫等应用中相当有用。

time 模块的常用方法:

方法说明
asctime()获取当前时间
ctime()获取当前时间
localtime()获取本地时间 返回的是对象,方便自己完成格式化 ltiem = time.localtime() ltime.tm_year print(“%s-%s-%s &s:%s:%s”%(ltime.tm_year,ltime.tm_mon,ltime.tm_mday,ltime.tm_hour,ltime.tm_min,ltime.tm_sec))
sleep(1)表示休眠时间,单位是秒
time()获取当前系统的时间戳,单位是秒(计算机从1970年0时0分0秒到现在秒数)
strftime()将时间对象格式化为字符串 f—format help(time.strftime) time.strftime(“%Y-%m-%d”)
strptime()将一个特定格式的时间字符串转换成时间对象 help(time.strptime) s=“2019-08-03 07:35:35” type(s) time.strptime(s,“%Y-%m-%d %H:%M:%S”)

代码示例如下:

import time

t = time.time()
print('当前时间戳为:', t)
localtime = time.localtime()
print('本地时间为:', localtime) # 时间元组,附表查看
localtime = time.asctime(time.localtime())
print('本地时间为:', localtime)

# 格式化时间
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
print(time.strftime('%a %b %d %H:%M:%S %Y', time.localtime()))

时间元组如下:

执行结果如下:

当前时间戳为: 1736664565.9515433
本地时间为: time.struct_time(tm_year=2025, tm_mon=1, tm_mday=12, tm_hour=14, tm_min=49, tm_sec=25, tm_wday=6, tm_yday=12, tm_isdst=0)
本地时间为: Sun Jan 12 14:49:25 2025
2025-01-12 14:49:25
Sun Jan 12 14:49:25 2025
2)datetime 模块

datetime 模块是 Python 对 time 模块的补充,用于时间的处理。datetime 的子模块如下:

  • 常用类:date类、time类、datetime类、timedelta类。

代码示例如下:

import datetime as dt

print(dt.datetime.now()) # 当前时间
print(dt.date(2021, 10, 1)) # 年、月、日
print(dt.time(7, 15, 30, 10)) # 时、分、秒、微妙
print(dt.datetime(2021, 10, 1, 7, 15, 30)) # date类和time类的结合,参数:年、月、日、时、分、秒
print(dt.timedelta(3, 2, 1, 6)) # 日、秒、微妙、毫秒、分钟、小时,周星期

执行结果如下:

2025-01-12 15:02:27.178224
2021-10-01
07:15:30.000010
2021-10-01 07:15:30
3 days, 0:00:02.006001
3)calendar 模块

calendar 模块提供了日历相关的功能,如生成月历、周历等。

代码示例如下:

import calendar

print('calendar.calendar() 返回某年的日历:')
print(calendar.calendar(2022))

print('calendar.month() 返回某年某月的日历:')
print(calendar.month(2022, 11))

print('calendar.isleap() 返回是否是闰年:')
print(calendar.isleap(2020), calendar.isleap(2021))
print('calendar.leapdays() 返回两年之间的闰年总数:')
print(calendar.leapdays(2000, 2021))

print('calendar.weekday() 返回某年某月某日是周几:')
print(calendar.weekday(2022, 11, 23))

执行结果如下:

calendar.calendar() 返回某年的日历:
                                  2022

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6          1  2  3  4  5  6
 3  4  5  6  7  8  9       7  8  9 10 11 12 13       7  8  9 10 11 12 13
10 11 12 13 14 15 16      14 15 16 17 18 19 20      14 15 16 17 18 19 20
17 18 19 20 21 22 23      21 22 23 24 25 26 27      21 22 23 24 25 26 27
24 25 26 27 28 29 30      28                        28 29 30 31
31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
             1  2  3                         1             1  2  3  4  5
 4  5  6  7  8  9 10       2  3  4  5  6  7  8       6  7  8  9 10 11 12
11 12 13 14 15 16 17       9 10 11 12 13 14 15      13 14 15 16 17 18 19
18 19 20 21 22 23 24      16 17 18 19 20 21 22      20 21 22 23 24 25 26
25 26 27 28 29 30         23 24 25 26 27 28 29      27 28 29 30
                          30 31

        July                     August                  September
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
             1  2  3       1  2  3  4  5  6  7                1  2  3  4
 4  5  6  7  8  9 10       8  9 10 11 12 13 14       5  6  7  8  9 10 11
11 12 13 14 15 16 17      15 16 17 18 19 20 21      12 13 14 15 16 17 18
18 19 20 21 22 23 24      22 23 24 25 26 27 28      19 20 21 22 23 24 25
25 26 27 28 29 30 31      29 30 31                  26 27 28 29 30

      October                   November                  December
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6                1  2  3  4
 3  4  5  6  7  8  9       7  8  9 10 11 12 13       5  6  7  8  9 10 11
10 11 12 13 14 15 16      14 15 16 17 18 19 20      12 13 14 15 16 17 18
17 18 19 20 21 22 23      21 22 23 24 25 26 27      19 20 21 22 23 24 25
24 25 26 27 28 29 30      28 29 30                  26 27 28 29 30 31
31

calendar.month() 返回某年某月的日历:
   November 2022
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

calendar.isleap() 返回是否是闰年:
True False
calendar.leapdays() 返回两年之间的闰年总数:
6
calendar.weekday() 返回某年某月某日是周几:
2

Process finished with exit code 0

2.8 加密模块

1)hashlib 模块

hashlib 模块提供了多种哈希算法(如 MD5、SHA-1、SHA-256 等)来生成数据的哈希值,常用于密码存储和数据完整性校验。

代码示例如下:

# 使用SHA-256生成哈希值
import hashlib

hash_object = hashlib.sha256(b'Hello, World!')
print(hash_object.hexdigest()) # 输出:SHA-256 哈希值

执行结果如下:

dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f
2)hmac 模块

hmac 模块实现了基于哈希的消息认证码(HMAC),用于验证消息的完整性和真实性。

代码示例如下:

import hmac
import hashlib

key = b'secret-key'
message = b'This is a secret message.'
h = hmac.new(key, message, hashlib.sha256)
print(h.hexdigest()) # 输出:HMAC值

执行结果如下:

8ff2696f30b8ed5f0944c12056f9ac826d10dba5b0001e5e63880015b6dccfc2

整理完毕,完结撒花~🌻





参考地址:

1.Python——常见内置模块,https://blog.csdn.net/weixin_63172698/article/details/134625963


http://www.kler.cn/a/510138.html

相关文章:

  • RabbitMQ--延迟队列
  • 聊聊如何实现Android 放大镜效果
  • Linux 操作二:文件映射与文件状态
  • 为AI聊天工具添加一个知识系统 之48 蒙板程序设计(第二版):Respect九宫格【社会形态:治理】
  • Java 接口安全指南
  • 数组常见解决方案
  • 搭建一个基于Spring Boot的数码分享网站
  • [Qt]窗口-QDialog、QMessageBox、QColorDialog、QFileDialog、QFontFialog、QInputDialog对话框
  • 登录校验Cookie、Session、JWT
  • 【unity进阶篇】弧度、角度和三角函数(Mathf),并实现类似蛇的运动
  • Django SimpleUI 自定义功能实战
  • 【漏洞预警】FortiOS 和 FortiProxy 身份认证绕过漏洞(CVE-2024-55591)
  • 网络系统管理Linux环境——AppSrv之SSH
  • 天机学堂5-XxlJobRedis
  • 硬件学习笔记--34 GB/T17215.321相关内容介绍
  • C++实现设计模式---迭代器模式 (Iterator)
  • Django 和 Vue3 前后端分离开发笔记
  • OpenAI推出首个AI Agent!日常事项自动化处理!
  • 深入浅出 SQLSugar:快速掌握高效 .NET ORM 框架
  • Boost Asio TCP异步服务端和客户端
  • 数据库管理-第285期 Oracle 23ai:深入浅出向量索引(20250117)
  • 2025年编程语言热度分析:Python领跑,Go与Rust崛起
  • 考研计算机组成原理——零基础学习的笔记
  • PHP语言的字符串处理
  • 深度学习实战:使用卷积神经网络(CNN)进行图像分类
  • 使用Pytorch完成图像分类任务