python3:相关类库

系统类库

时间类库

"""
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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值