概述
相关类库
- 系统类库
- 时间类库
- 计算类库
- From类库
- 随机数类库
- 系统类库
- 标准类库
- 基本类库
- 第三方类库
系统类库
时间类库
"""
datetime :
time 时间
date 日期
datetime 日期时间 now()
timedelta 时间差 timedelta(days=‘’,weeks='',....)
"""
import datetime
import time
print(datetime.time.hour) # 对象
print(str(time.localtime().tm_hour))
print(datetime.date)
print(datetime.date.day)
print(datetime.date.ctime(datetime.date(2022, 10, 19)))
# datetime、timedelta
print(datetime.date.today()) # 2022-11-14
# 时间差值
time_del = datetime.timedelta(hours=2)
print(time_del) # 2:00:00
now = datetime.datetime.now()
print(now) # 2022-11-14 14:41:11.060318
print(now + time_del) # 2022-11-14 12:42:31.600938
# 缓存:数据库做缓存、MySQL redis、会话机制:Session
week_del = datetime.timedelta(weeks=3) # 3周
dy_del = datetime.timedelta(days=3, hours=7) # 3周
print(now + week_del) # 2022-12-05 14:46:16.897655
计算类库
__all__ = ['add', 'multiply', 'Caculats'] # 可以限制白名单,除此之外其他都不让访问
# 计算模块
num = 1000
name = 'caculation'
def add(*args):
if len(args) > 1:
sm = 0
for i in args:
sm += i
return sm
else:
print("至少传入两个参数")
return 0
def minus(*args):
if len(args) > 1:
m = 0
for i in args:
m -= i
return m
else:
print("至少传入两个参数")
def multiply(*args):
if len(args) > 1:
sm = 1
for i in args:
sm *= i
return sm
else:
print("至少传入两个参数")
return 0
pass
def divide(*args):
if len(args) > 1:
sm = 1
for i in args:
sm += i
return sm
else:
print("至少传入两个参数")
return 0
pass
# 类
class Caculats:
def __init__(self, nm):
self.__num = nm
def test(self):
print("正在计算。。。。。。")
@classmethod
def test1(cls):
print("正在计算---------caculation进行运算")
def test():
print("我是测试使用的!")
if __name__ == '__main__':
test()
From类库
# from 引入
"""
导入模块的方法:
1、import 模块名
模块名.变量 模块名.函数 模块名.类
2、from 模块名 import 变量 | 函数 | 类
3、from 模块名 import * (*:该模块中所有的)
如果想限制获取的内容:可以在模块中添加 类似:__all__ = ['all','multiply']可以限制
4、无论是from 或者import 都会将模块中的内容都加载进去
如果不希望其进行调用,就是用 if __name__ == '__main__':主函数 可以屏蔽
__name__ :是调用的模块的名称
"""
# from caculate import add, multiply,Caculats
from caculate import *
lst = [1, 2, 3, 4, 5, 6]
result = add(*lst) + multiply(*lst) # 拆包
print(result)
s = Caculats(80)
s.test()
随机数类库
# random
import random
ran = random.random() # 0-1之间的随机数
print(ran) # 0.18367496163890407
rd = random.randrange(1, 10, 2)
print(rd)
ri = random.randint(1, 10)
print(ri)
lst = ['lucy', 'zhang_san', 'san_duo', 'lisi']
ran = random.choice(lst) # 随机选择列表中的值
print(ran)
random.shuffle(lst) # 洗牌:['zhang_san', 'lucy', 'san_duo', 'lisi']
print(lst)
# 验证码。大写字母与数字的组合
def func():
code = ''
for i in range(4):
ran1 = str(random.randint(0, 9))
ran2 = chr(random.randint(65, 90))
ran3 = chr(random.randint(97, 132))
r = random.choice([ran1, ran2, ran3])
code += r
return code
print(func())
print(func())
系统类库
"""
当你导入一个模块。python解析器对模块位置的搜索顺序是:
1、当前目录
2、如果不在当前目录。Python则搜索在shell变量Pythonpath下的目录
3、如果都找不到。Python会查看默认路径。unix下,默认路径为/usr/local/lib/python
模块搜索路径存储在system模块的sys.path变量中。变量包含当前目录,Pythonpath由安装过程决定的默认目录
自定义模块
系统模块:
sys
random
time
time() 获取系统时间戳
ctime() 时间戳转换字符串形式
localtime() 将时间戳转换成元组的方式
mktime() 元组转时间戳。但是会丢失精度
strftime() 将时间戳转字符串表示方式
strptime() 将字符串转元组
datetime
hashlib
第三方包
"""
import sys
import time
print(sys.path) # 路径
print(sys.version)
print(sys.argv) # 获取执行时参数,是一个列表:['E:\workspace\python\demo-python\module\search_path.py', '100']
t = time.time()
print("t:", t)
# time.sleep(3)
t1 = time.time()
print("t1:", t1)
# 时间戳转换字符串形式
t3 = time.ctime(t)
print("t3:", t3)
# 将时间戳转换成元组的方式
t4 = time.localtime(t) # 元组
print("t4:", t4)
print(t4.tm_year)
print(t4.tm_mon)
print(t4.tm_mday)
print(t4.tm_hour)
# 将元组转换成时间戳:mktime(tuple) -> floating point number/ 注意:会丢失精度
t5 = time.mktime(t4)
print("t5:", t5)
# 将时间戳转字符串表示方式
t6 = time.strftime("%Y-%m-%d %H:%M:%S")
print("t6:", t6)
# 将字符串转元组
t7 = time.strptime("2022/10/08", "%Y/%m/%d")
print("t7:", t7)
标准类库
基本类库
"""
在python中。模块是代码组织的一种形式。把功能相近的函数放到一个文件中,一个文件(.py)就是一个模块(module),模块名就是文件名
去掉后缀py。这样做的好处:
- 提高代码的复用率、可维护性、。一个模块编写完毕后,可以很方便的在其他项目中导入
- 解决了命名冲突,不同模块中相同的命名不会冲突
常用标准库:
标准库 说明
---------------------------------
builtins 内置函数默认加载
math 数学库
random 生成随机数
time 时间
datetime 日期和时间
calendar 日历
hashlib 加密算法
copy 拷贝
functools 常用的工具
os 操作系统工具
re 字符串正则匹配
sys Python自身的运行环境
multiprocessing 多进程
threading 多线程
json 编码和解码 JSON对象
logging 记录日志,调试
模块:
1、自定义模块
2、使用系统模块
导入模块的方法:
1、import 模块名
模块名.变量 模块名.函数 模块名.类
2、from 模块名 import 变量 | 函数 | 类
3、from 模块名 import * (*:该模块中所有的)
"""
import caculate
lst = [1, 2, 3, 4, 5, 6]
result = caculate.add(*lst) # 拆包
print(result)
result = caculate.minus(*lst)
print(result)
# 使用模块变量
print(caculate.num)
s = caculate.Caculats(12)
s.test()
第三方类库
# 标准库:图片处理 pillow
"""
标准库:
1、图片处理 pillow
2、chr ord
3、hashlib
4、md5、hexdigest
"""
# chr ord
print(chr(65)) # unicode码 ->str
print(ord('A')) # str ->unicode
print(ord('下')) # 19979
print(chr(19979))
# 标准库: print() input list str set dict tuple ord bin hex oct isinstance
# hashlib :incode decode
# 加密算法:单项 md5 不可逆 base64 可逆
import hashlib
message = '你好中午有事吗?'
md5 = hashlib.md5(message.encode('utf-8'))
print(md5.hexdigest()) # 16进制加密后的值:e1a4a39907786e8a84faf9ea22678ad9
print(len(md5.hexdigest())) # 32
sha1 = hashlib.sha1(message.encode('utf-8'))
print(sha1.hexdigest()) # 16进制加密后的值:5870d68c81ffb0522968b65938c5498ed13ee6be
print(len(sha1.hexdigest())) # 40
sha256 = hashlib.sha256(message.encode('utf-8'))
print(sha256) # <sha256 HASH object @ 0x000002700CB78900>
print(sha256.hexdigest()) # 47d5d4f92f2d9158a87f6090e77e831864d225f481ccf861b07d4a58bc60f44c
print(len(sha256.hexdigest())) # 64
password = '123456'
lst = []
sha256 = hashlib.sha256(password.encode("utf-8"))
lst.append(sha256.hexdigest())
pwd = input("请输入密码:")
sha256 = hashlib.sha256(pwd.encode("utf-8"))
pwd = sha256.hexdigest()
for i in lst:
if i == pwd:
print("登录成功!")
else:
print("登录失败")
import pollow
# 第三方类库
"""
1、图片处理 pillow
"""
import requests
response = requests.get("http://www.12306.cn")
print(response.text)
最后
以上就是俏皮龙猫为你收集整理的python3:相关类库系统类库标准类库的全部内容,希望文章能够帮你解决python3:相关类库系统类库标准类库所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复