day15-常用的模块介绍

=========================== day15-常用的模块介绍 ================================

第一节:常用模块介绍:

""""""
import math  # 数学模块
import cmath  # 复数模块
import random  # 随机模块
import os   #
import os.path
import time
import sys
import turtle
import csv
import smtplib

# 1.常用标准库
"""
1.数学模块:math(普通的数学模块)、 cmath(复数的数学模块)
"""

# 去掉小数部门只保留整数部分
print(int(-2.9), int(2.9))   # -2 2

# 向小取整
print(math.floor(-2.9), math.floor(2.9), math.floor(2.4))    # -3 2 2

"""
2.随机模块:
random.randint(m,n) - 产生[m,n]的随机整数
random.random() - 产生[0,n)的随机数
random.shuffle(列表) - 随机打乱列表中的元素
random.choice(列表) - 从列表中随机获取一个元素
random.choices(列表,k=N) - 从列表中随机获取N个元素
"""

# random_random() 括号无参数
print(random.random())

print(random.choices(['n', 'b', 'n', 'm'], k=2))

print(random.random()*100)    # [0, 100)的随机小数
print(random.random()*50 + 50)   # [50, 100)的随机小数

nums = [1, 2, 3, 4, 5, 6, 7, 8]
random.shuffle(nums) # 打乱列表元素
print(nums)   # [6, 4, 5, 7, 1, 3, 2, 8]

nums = [1, 2, 3, 4, 5, 6, 7, 8]
print(random.choice(nums)) # 随机选择一个数
print(random.choices(nums, k=2)) # 随机选择两个数,返回列表形式

# 3.os模块
"""
os.chdir(路径) - 将指定路径对应的目录修改成当前目录
                (默认情况下当前目录是当前py文件所在的目录)
                
os.getcwd - 获取当前目录的全路径
"""
print(os.getcwd())
path = r'E:\2004python\001-语言基础\python语言基础\python语言讲义\day15-常用的模块介绍'
print(os.chdir(path))
print(os.getcwd())

'''
json 模块
4.json模块
5. re模块 - 正则表达式相关操作
6. sys模块
exit()
7. turtle - 画图模块
8. csv  -  csv文件操作
9. smtplib  -  邮件的发送
10. time 和 dateTime
11. hashlib
'''

print(os.path.basename('users/name/a/b/cc.txt'))    # cc.txt 提取最终文件名
print(os.path.basename(r'c:\home\aa\bb\fd.py'))

# 退出程序(提前结束线程)
# sys.exit()
# print('========')

# turtle.setup(600, 800) # 画一个图画
# turtle.mainloop()

第二节:hashlib的使用

import hashlib

"""
hashlib模块主要提供hash加密相关的算法来对数据进行加密处理。
hash加密的特点:
a.加密结构不可逆(不能通过密文/摘要去获取到原文)
b.同一个数据通过相同的算法加密之后的结果是一样的。
c.不同的数据通过相同的算法加密之后的长度相同。
"""

# hash摘要的应用场景
'''
a.密码保存
b.数据完整性的验证
'''

'''
1.根据算法创建hash对象(md5和shaXXX相关的算法)
  hashlib.算法名()
'''
hash = hashlib.md5()

'''
2.添加需要生成摘要/密文的数据
hash对象.update(数据的二进制)
'''
hash.update('123456'.encode(encoding='utf-8'))

'''
3.生成摘要
'''
dig = hash.hexdigest()
print(dig)

第三节:

import time

# 什么是时间戳:
"""
时间戳就是以秒为单位表示的到格林威治时间1970年1月1日0时0分0秒的时间差。
保存时间的时候保存时间戳要比直接保存时间信息更加节约内存。
对时间戳进行加密比字符串时间加密更方便。
"""

# 1.time() - 获取当前时间(返回的是当前时间的时间戳)

t = time.time()
print(t)
print(1603094186/60/60/24/365)

# 2.time.localtime(时间戳) - 获取当前的本地时间,返回struct_time对象
t1 = time.localtime()
print(t1)

# time.localtime(时间戳)  - 获取指定时间戳对应的本地时间,返回struct_time对象
t3 = time.localtime(0)
print(t3)

# 3.time.strftime(时间格式字符串, 结构体时间) - 把结构体时间转化为指定格式的字符串时间

# '2020/10/19'
s1 = time.strftime("%Y/%m/%d", t1)
print(s1)  # 2020/10/19

# xxxx-xx-xx xx:xx:xx
s2 = time.strftime("%Y/%m/%d %H:%M:%S:", t1)
print(s2)  # 2020/10/19

# 星期一 下午3:38
s3 = time.strftime('%A %p%H:%M', t1)
print(s3)
# 如果想转换成中文


def china_time(t_str: str):
    table = {
        'PM': '下午',
        'AM': '上午',
        'Monday': '星期一',
        'Mon': '星期一'
    }
    for key in table:
        t_str = t_str.replace(key, table[key])

    return t_str


print(china_time(s3))

# 4. time.strptime(字符串, 时间格式字符串)   -  将字符串时间转换成结构体时间
s2 = '2000-10-29'
t5 = time.strptime(s2, '%Y-%m-%d')
print(t5)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草木·君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值