python中 time、datetime、random模块
1. 自定义模块
1.1 模块分类
模块的分类:
1.内置模块(标准库)——python解释器自带的.py文件(模块);
2.第三方模块-- 需要额外下载的 (pypi)
3.自定义模块(程序员写的) -- 不需要额外下载
查找顺序:3——1——2
分模块的好处:
1.避免写重复代码;
2.可以多次利用;
3.拿来主义
1.2 模块的导入
# 导入
import 模块名 # 模块名不可带后缀名
import 模块名 as 别名
# 使用别名可使文件名更短,也可给多个导入模块起一个名字,做兼容
导入发生的变化:
1.当前名称空间中开辟一个新的空间(名字为模块的名字)
2.将代码中所有的代码执行(加载进去)
3.通过模块名.进行查找模块内的函数等。
多次导入相同模块时,默认导入一次。
1.3 import 和 from
import test # 将整个test模块加载
- 优点:不会和当前文件定义的变量或者函数发生冲突
- 缺点:占用内存比较大from test import func #将模块中的func函数加载
- 缺点:会和当前文件定义的变量或者函数发生冲突 # 解决方法: 起别名
1.4 from 模块名 import*
from test import *
# 将模块内代码全部加载,会出现覆盖的现象,不能解决
__ all __ = ["可以被导入的函数名和变量名"]
# 在定义模块中增加,配合"*"使用,放入列表中的,才可被调用
1.5 模块的用法:
# 坑:不可用环形导入,但可放函数内被调用
模块的两种用法:1.脚本:(在cmd中执行: python 路径)2.模块(不使用或者导入)if __name__ == '__main__': # 测试接口(在当前文件)在模块中使用__name__就是"__main__"(当前py文件)当模块被导入时__name__就是被导入模块的名字
1.6 导入路径
相对路径:
from day15.t1 import test
绝对路径:
from sys import path # 得到一个模块框架的列表
path.insert(0,"路径") # 将自定义模块加入列表,可以import
2. time 模块
可用于日志记录登陆时间、计算时间。
2.1 时间戳
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import time # 导入
print(time.time())
# 时间戳 格林尼治时间是从1970年1月1日00:00:00开始按秒计算的偏移量 返回的是浮点数可运算time.sleep(3) # 睡眠 秒
2.2 格式化字符串时间(Format String)
#python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
2.3 时间之间的转换
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
print(time.strftime("%Y-%m-%d %H:%M:%S"))# 2019-07-25 15:47:36 当前时间的字符串print(time.gmtime()) # 结构化时间# time.struct_time(tm_year=2019, tm_mon=7, tm_mday=25, tm_hour=7, tm_min=52, tm_sec=48, tm_wday=3, tm_yday=206, tm_isdst=0) # 当前UTC(伦敦)时间 命名元组,可索引
print(time.gmtime()[0]) # 2019
print(time.gmtime(1564042674.8529472)) # time.struct_time(tm_year=2019, tm_mon=7, tm_mday=25, tm_hour=8, tm_min=17, tm_sec=54, tm_wday=3, tm_yday=206, tm_isdst=0)print(time.localtime()) #当前北京时间# time.struct_time(tm_year=2019, tm_mon=7, tm_mday=25, tm_hour=16, tm_min=14, tm_sec=16, tm_wday=3, tm_yday=206, tm_isdst=0)print(time.strptime("2019-07-25 16:17:54","%Y-%m-%d %H:%M:%S"))# 将字符串时间进行结构化# time.struct_time(tm_year=2019, tm_mon=7, tm_mday=25, tm_hour=16, tm_min=17, tm_sec=54, tm_wday=3, tm_yday=206, tm_isdst=-1)# 将时间戳转换成字符串时间 (先将时间戳 结构化,再格式化,可以给用户看)
print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(1564042674))) # 2019-07-25 08:17:54 (UTC时间)print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(1564042674))) # 2019-07-25 16:17:54 (北京时间)# 将字符串时间转换成时间戳 (先将字符串时间结构化,再转换成时间戳)
print(time.mktime(time.strptime("2019-07-25 16:17:54","%Y-%m-%d %H:%M:%S"))) # 时间戳 1564042674
总结:
# 1. 结构化时间-->字符串时间
# time.strftime("格式定义","结构化时间") 结构化时间参数不传,则显示当前时# 2.字符串时间-->结构化时间
# time.strptime(时间字符串,字符串对应格式)# 3.时间戳-->结构化时间
# time.gmtime(时间戳)/time.localtime(时间戳)# 4.结构化时间-->时间戳
# time.mktime(结构化时间)# 5.转换
# time.mktime(time.strptime()) # 字符串时间-->时间戳
# time.strftime("格式",time.localtime(时间戳)) #时间戳-->字符串时间
小结:时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的
3. datetime 模块
3.1 datetime 的操作
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from datetime import datetime,timedelta
# datetime -- 对象
print(datetime.now()) # 获取当前时间print(datetime(2019,5,20,13,14,00)) # 格式化 2019-05-20 13:14:00
print(datetime(2019,5,20,13,14,00)-datetime(2019,5,20,11,14,00))# 格式化时间后相减 2:00:00print(datetime.now().timestamp()) #将当前时间转化成时间戳import time
print(datetime.fromtimestamp(150000000)) #将时间戳转化成当前时间print(datetime.strptime("2019-10-10 22:23:24","%Y-%m-%d %H:%M:%S")) # 将字符串转成对象
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S")) # 将对象转成字符串
3.2 datetime的加减 (timedelta类)
print(datetime.now() + timedelta(hours=12)) # 当前时间加2小时
print(datetime.now() + timedelta(days=2)) # 当前时间加2天
4. random 模块
random模块是一个随机模块,生活中经常遇到随机的场景,彩票,抓阄,打牌,等等,以后你的代码中如果遇到需要随机的需求:随机验证码,发红包等等,那么首先要想到的是random模块。
import randomprint(random.random()) # (0 ~ 1) 浮点数
print(random.uniform(1,10)) # (1 ~ 10)
print(random.randint(1,50)) # [1 ~ 50] 整数
print(random.randrange(1,5,2)) # randrange(起始,终止,步长) 奇偶
print(random.choice([1,2,3,4,5,])) # 选择一个元素
print(random.choices([1,2,3,4,5,],k=2)) # 选择两个元素,会有重复
print(random.sample((1,2,3,4,5),k=2)) # 选择两个元素,不会有重复lst = [1,2,3,4,5,6,7,8,9,0]
random.shuffle(lst) # 顺序打乱
print(lst)
python中 time、datetime、random模块相关推荐
- Python中如何用random模块生成随机数并重现
使用random模块生成随机数 Python广为人们喜爱的原因就是Python中有许许多多非常便捷的模块可供我们随意调用,在Python中我们可以通过调用random模块来生成一个伪随机数. --只有 ...
- 用于生成随机数的python标准库模块是_17 Python 标准库之 random 模块 - Python 进阶应用教程...
Python 标准库之 random 模块 随机数是随机产生的数,比如购买彩票,中奖的号码就是随机的.random 库是用于生成随机数的 Python 标准库,random 库提供如下函数: 函数 功 ...
- python模块调用的用法_如何使用Python语言中的random模块调用方法
Python语言中的random模块,包含了很多方法属性,可以直接调用这些方法和设置属性.根据不同的方法展示不同的内容.下面利用几个实例查看random模块中的方法,操作如下: 工具/原料 Pytho ...
- python中根据字符串导入模块module
python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlibmodname = 'datetime'dateti ...
- python中的随机函数random的用法示例
这篇文章主要介绍了python中的随机函数random的用法示例,详细的介绍了python 随机函数random的用法和示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 一.random模块简介 ...
- Python中的类、模块和包究竟是什么?
Python培训教程:Python中的类.模块和包究竟是什么?在Python和其他编程语言中,都有类似或相同的概念,如对象.类.模块.包,名称都是一样的,只不过会有细微的一些区别,正是因为有这些存在, ...
- Python中爬虫框架或模块的区别
Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...
- Python中os和shutil模块实用方法集锦
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- 对于python来说、一个模块就是一个文件-PYTHON中的包和模块
为了更加友好的对python代码进行组织管理,python中出现了包和模块的概念 类似生活中整理我们的物品一样,将代码按照不同的功能进行整理整合,可以很大程度的提升代码可读性和代码质量,方便在项目中进 ...
- Python中爬虫框架或模块的区别!
Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...
最新文章
- ssh(Struts+spring+Hibernate)三大框架整合-简述
- PNAS | 菌群大战:“单打独斗之殇”与“分而治之之利”
- 计算机网络离不开光缆,九年级物理全册 第二十一章 第四节 越来越宽的信息之路习题课件 新人教版.ppt...
- NYOJ 20 吝啬的国度 广度优先搜索
- mysqli模块的安装
- url(r'^index/$',views.index)的含义解释
- Python函数式编程-map()、zip()、filter()、reduce()、lambda()
- php %3cpre%3c pre%3e,PHP代码执行与命令注入
- thinkphp连接远程数据库慢_干货分享—Niushop数据库配置
- [AlwaysOn Availability Groups]健康模型 Part 1——概述
- 获取PowerShell某个对象的所有命令
- 嵌入在网页上Flash媒体播放器(1)
- matlab标准数据,Matlab数据标准化实现
- electron 解压zip_electron 打包问题 解决
- 大屏制作 | 完成一个美观大屏到底多简单?四步完成
- excel怎么固定住一行和一列
- 如何发挥公证在知识产权保护中的作用
- 斐波那契网格采样(在球面上均匀排列许多点)
- linux les命令,Linux用户和组命令
- 从贴吧热门贴的源代码获取发帖人,发帖时间,发帖内容,并存入csv文件中
热门文章
- 异常org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 11; 注释中不允许出现字符串 --。的原因...
- Lesson3 Shader着色器
- 如何屏蔽PHP浏览器头信息X-Powered-By
- 提高DB2数据库Web程序性能的两条规则
- 为什么说中国式报表特殊-3、报表格式
- 【Python 爬虫】 1、爬虫基础概念
- 【随笔】“阴面”和“阳面”
- AFAB-资产折旧时出错 在上一年结算之后您只能记帐到新的一年
- 正则表达式(Regular Expressions)
- 你是否应该成为一名全栈工程师?