Learning-Python【18】:Python常用模块(1)—— time、datetime、randrom
time 模块:与时间相关的功能的模块
在 Python 中,时间分为三种:
1、时间戳:是一个时间的表示,根据不同的语言,可以是整数或浮点数,是从1970年1月1日0时0分0秒到现在经历的秒数
2、UTC时间: 又称为世界协调时间,以英国的格林尼治天文所在地区的时间作为参考的时间,也叫做世界标准时间。中国时间是 UTC+8 东八区
3、localtime:本地时间,又叫时间元组,是一个包含时间内容的普通元组
import time
print(time.localtime()) # 运行
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=15, tm_hour=14, tm_min=44, tm_sec=34, tm_wday=0, tm_yday=288, tm_isdst=0) # 相应参数
# 索引 内容 属性 值
# 0 年 tm_year 2015
# 1 月 tm_mon 1~12
# 2 日 tm_mday 1~31
# 3 时 tm_hour 0~23
# 4 分 tm_min 0~59
# 5 秒 tm_sec 0~61 60表示闰秒 61保留值
# 6 周几 tm_wday 0~6
# 7 第几天 tm_yday 1~366
# 8 夏令时 tm_isdst 0,1,-1(表示夏令时)
localtime
时间模块的属性
# 获取时间戳 返回浮点型
print(time.time()) # 获取当地时间 返回的是结构化时间
print(time.localtime()) # 时间戳 转结构化
print(time.localtime(time.time())) # 结构化 转时间戳
print(time.mktime(time.localtime())) # 获取UTC时间 返回的还是结构化时间 比中国时间少8小时
print(time.gmtime()) # 将获取的时间转成指定的格式 仅支持结构化时间
print(time.strftime("%Y-%m-%d %H:%M:%S %p", time.localtime())) # 将格式化字符串的时间转为结构化时间 注意: 格式必须匹配
print(time.strptime("2018-10-15 15:00:18", "%Y-%m-%d %H:%M:%S")) # sleep 让当前进程睡眠一段时间 单位是秒
time.sleep(2)
print('over') # 接受时间元组并返回一个可读的形式为"Mon Oct 15 15:09:24 2018"的24个字符的字符串。
print(time.asctime()) # 获取字符串化的当前时间
print(time.ctime())
time
datetime 模块:提供日期和时间运算表示的模块
datetime常用属性
import datetime # 获取当前时间 返回的是格式化字符时间
print(datetime.datetime.now()) # 单独获取某个时间 年 月
d = datetime.datetime.now()
print(d.year)
print(d.day) # 手动指定时间
d2 = datetime.datetime(2018,10,10,10,10,10)
print(d2) # 计算两个时间的差 只能减不能加
print(d - d2) # 替换某个时间
print(d.replace(year=2020)) # 表示时间差的属性 timedelta
print(datetime.timedelta(days=1)) d = datetime.datetime.now()
t1 = datetime.timedelta(days=1)
t2 = datetime.timedelta(weeks=1)
print(t2 - t1)
# 时间差可以和一个datetime进行加减
print(d + t2)
datetime
random 模块:随机数模块
# random() 获取0-1之间的随机小数
# 格式:random.random()
# 返回值:随机0-1之间的小数 print(random.random()) # 运行
0.4549137928915099
random.random()
# choice() 随机返回序列中的某个值
# 格式:random.choice(序列)
# 返回值:序列中的某个值 l = [str(i)+"haha" for i in range(5)]
print(l)
rst = random.choice(l)
print(rst) # 运行
['0haha', '1haha', '2haha', '3haha', '4haha']
3haha
random.choice()
# shuffle() 随机打乱列表
# 格式:random.shuffle(列表)
# 返回值:打乱顺序之后的列表 l1 = [i for i in range(5)]
print(l1) random.shuffle(l1)
print(l1) # 运行
[0, 1, 2, 3, 4]
[2, 3, 0, 4, 1]
random.shuffle()
# randint(a,b): 返回一个a到b之间的随机整数,包含a和b print(random.randint(0,100)) # 运行
46
random.randint()
# randrange(a,b): 返回一个a到b之间的随机整数,包含a不包含b print(random.randrange(0,2)) # 运行
0
random.randrange()
# 随机选指定个数
print(random.sample([1,2,3],2)) # 运行
[2, 3]
random.sample()
实现随机验证码,整型和全大写字符,可指定长度
def make_code(i):
res = ""
for j in range(i):
# 随机0到9
num = str(random.randint(0,9))
c = chr(random.randint(65,90))
s = random.choice([num,c])
res += s
return res
print(make_code(4))
随机验证码
Learning-Python【18】:Python常用模块(1)—— time、datetime、randrom的更多相关文章
- python常用模块之time&datetime模块
python常用模块之time&datetime模块 在平常的代码中,我们经常要与时间打交道.在python中,与时间处理有关的模块就包括:time和datetime,下面分别来介绍: 在开始 ...
- python笔记之常用模块用法分析
python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...
- python基础31[常用模块介绍]
python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...
- python基础之常用模块以及格式化输出
模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
- Day5 - Python基础5 常用模块学习
Python 之路 Day5 - 常用模块学习 本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shel ...
- Python全栈开发之路 【第六篇】:Python基础之常用模块
本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...
- Python基础之常用模块
一.time模块 1.时间表达形式: 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: 1.1.时间戳(timestamp) :通常来说,时间 ...
- Python基础5 常用模块学习
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- python之路——常用模块
阅读目录 认识模块 什么是模块 模块的导入和使用 常用模块一 collections模块 时间模块 random模块 os模块 sys模块 序列化模块 re模块 常用模块二 hashlib模块 con ...
- Python 五个常用模块资料 os sys time re built-in
1.os模块 os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果. os.name:返回当前操作系统名称('posix', 'nt', ' ...
随机推荐
- 03.Django的MTV开发模式详解和模型关系构建
ORM:对象关系映射 一:MTV开发模式把数据存取逻辑.业务逻辑和表现逻辑组合在一起的概念有时被称为软件架构的 Model-View-Controller(MVC)模式. 在这个模式中,Model 代 ...
- 洛谷P3384 【模板】树链剖分
题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: 格式 ...
- uploadify 火狐 http error:302
网上查询了一都说是flash 中 Session问题 (IE会自动复制过去),大多说将session值传过去就可以了但我们用的是公司的一套权限,改不了用户登录信息 无奈只好不用用户信息来做,果然对了 ...
- To be better —msup荣获平安科技“2018年度优秀合作伙伴”称号
2018年12月4日,平安科技在深圳平安金融中心举办了“2018年平安科技优秀培训合作伙伴交流会”,msup收到了邀请参与此次评选,并从80余家合作伙伴中脱颖而出,在交付量.满意度.师资内容.服务水准 ...
- InnoDB中锁的模式
Ⅰ.总览 S行级共享锁 lock in share mode X行级排它锁 增删改 IS意向共享锁 IX意向排他锁 AI自增锁 Ⅱ.锁之间的兼容性 兼 X IX S IS X × × × × IX × ...
- 关于mysql中like查询是否通过索引的测试
测试mysql的like语句是否通过索引时得到结果如下: 图片1: 图片2: 图片3: 通过上述3组图片我想大家很容易愤青我使用的'%8888888%','%8888888'和'8888888%'3中 ...
- luogu3830 [SHOI2012]随机树
传送门:洛谷 题目大意:对于一个只有一个节点的二叉树,一次操作随机将这棵树的叶节点的下方增加两个节点.$n-1$次操作后变为$n$个叶节点的二叉树.求:(1)叶节点平均深度的期望值(2)树深度的数学期 ...
- 17.2-uC/OS-III消息管理(任务消息队列)
1.任务的消息队列 uC/OS-III在任务中内建了一个消息队列.用户可以直接发送消息给任务而不通过外部消息队列. 这个特性不仅简化了代码, 还提供了效率.每个任务都内建一个消息队列. uC/OS-I ...
- python练习题-day15
1.请利用filter()过滤出1~100中平方根是整数的数,即结果应该是: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 2.列表按照其中每一个值的绝对值排序 li ...
- 001-CPU多级缓存架构
一.基本概念 大致关系: CPU Cache --> 前端总线 FSB (下图中的Bus) --> Memory 内存 CPU 为了更快的执行代码.于是当从内存中读取数据时,并不是只读自己 ...