16.Python略有小成(内置模块Ⅱ)
Python(内置模块Ⅱ)
一、规范化开发
- 一个py文件中
- 文件加载问题
- 代码可读性,查询差
- 要将一个py文件分开,合理的分成多个py文件
- 配置文件放在一起 : 一些轻易不改变的变量,一般命名 settings.py
- 主逻辑函数放在一起 : 一般命名 src.py
- 辅助功能函数放在一起 : 公共组件部分,装饰器,log日志,一般命名 common.py
- 程序启动开关 : 放在明显位置,便于开启程序,一般命名 starts.py
- 数据库文件 : register文件,文本数据库
- 日志 : log文件
- 文件夹命名规范
- bin 文件夹放启动文件
- conf 放配置文件
- core 放核心文件 主逻辑
- lib 放公共组件文件
- db 放数据库文件
- log 放日志文件
- 外加一个使用说明,README,此为文件
二、time模块
与实践相关的模块三种形式:
时间戳 : time.time 时差,计时.....
通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
格式化时间(人类看得懂的时间) : 2019-6-28 12:00
%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 当前时区的名称 %% %号本身 python中时间日期格式化符号:
元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)
我们先导入time模块,来认识一下python中表示时间的几种格式:
#导入时间模块 >>>import time#时间戳 >>>time.time() 1500875844.800804#时间字符串 >>>time.strftime("%Y-%m-%d %X") '2017-07-24 13:54:37' >>>time.strftime("%Y-%m-%d %H-%M-%S") '2017-07-24 13-55-04'#时间元组:localtime将一个时间戳转换为当前时区的struct_time time.localtime() time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24,tm_hour=13, tm_min=59, tm_sec=37, tm_wday=0, tm_yday=205, tm_isdst=0)
几种格式之间的转换
# 格式化时间 ----> 结构化时间 ft = time.strftime('%Y/%m/%d %H:%M:%S') st = time.strptime(ft,'%Y/%m/%d %H:%M:%S') print(st) # 结构化时间 ---> 时间戳 t = time.mktime(st) print(t)# 时间戳 ----> 结构化时间 t = time.time() st = time.localtime(t) print(st) # 结构化时间 ---> 格式化时间 ft = time.strftime('%Y/%m/%d %H:%M:%S',st) print(ft)
#结构化时间 --> %a %b %d %H:%M:%S %Y串 #time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串 >>>time.asctime(time.localtime(1500000000)) 'Fri Jul 14 10:40:00 2017' >>>time.asctime() 'Mon Jul 24 15:18:33 2017'#时间戳 --> %a %d %d %H:%M:%S %Y串 #time.ctime(时间戳) 如果不传参数,直接返回当前时间的格式化串 >>>time.ctime() 'Mon Jul 24 15:19:07 2017' >>>time.ctime(1500000000) 'Fri Jul 14 10:40:00 2017' t = time.time() ft = time.ctime(t) print(ft)st = time.localtime() ft = time.asctime(st) print(ft)
import time true_time=time.mktime(time.strptime('2017-09-11 08:30:00','%Y-%m-%d %H:%M:%S')) time_now=time.mktime(time.strptime('2017-09-12 11:00:00','%Y-%m-%d %H:%M:%S')) dif_time=time_now-true_time struct_time=time.gmtime(dif_time) print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(struct_time.tm_year-1970,struct_time.tm_mon-1,struct_time.tm_mday-1,struct_time.tm_hour,struct_time.tm_min,struct_time.tm_sec))计算时间差
三、datetime模块
# datatime模块
import datetime
now_time = datetime.datetime.now() # 现在的时间
# 只能调整的字段:weeks days hours minutes seconds
print(datetime.datetime.now() + datetime.timedelta(weeks=3)) # 三周后
print(datetime.datetime.now() + datetime.timedelta(weeks=-3)) # 三周前
print(datetime.datetime.now() + datetime.timedelta(days=-3)) # 三天前
print(datetime.datetime.now() + datetime.timedelta(days=3)) # 三天后
print(datetime.datetime.now() + datetime.timedelta(hours=5)) # 5小时后
print(datetime.datetime.now() + datetime.timedelta(hours=-5)) # 5小时前
print(datetime.datetime.now() + datetime.timedelta(minutes=-15)) # 15分钟前
print(datetime.datetime.now() + datetime.timedelta(minutes=15)) # 15分钟后
print(datetime.datetime.now() + datetime.timedelta(seconds=-70)) # 70秒前
print(datetime.datetime.now() + datetime.timedelta(seconds=70)) # 70秒后current_time = datetime.datetime.now()
# 可直接调整到指定的 年 月 日 时 分 秒 等print(current_time.replace(year=1977)) # 直接调整到1977年
print(current_time.replace(month=1)) # 直接调整到1月份
print(current_time.replace(year=1989,month=4,day=25)) # 1989-04-25 18:49:05.898601# 将时间戳转化成时间
print(datetime.date.fromtimestamp(1232132131)) # 2009-01-17
四、random模块
>>> import random
#随机小数
>>> random.random() # 大于0且小于1之间的小数
0.7664338663654585
>>> random.uniform(1,3) #大于1小于3的小数
1.6270147180533838
#恒富:发红包#随机整数
>>> random.randint(1,5) # 大于等于1且小于等于5之间的整数***
>>> random.randrange(1,10,2) # 大于等于1且小于10之间的奇数***#随机选择一个返回
>>> random.choice([1,'23',[4,5]]) # #1或者23或者[4,5]
#随机选择多个返回,返回的个数为函数的第二个参数***
>>> random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合,可控制元素个数***
[[4, 5], '23']#打乱列表顺序
>>> item=[1,3,5,7,9]
>>> random.shuffle(item) # 对原列表打乱次序
>>> item
[5, 1, 3, 7, 9]
>>> random.shuffle(item)
>>> item
[5, 9, 7, 1, 3]
转载于:https://www.cnblogs.com/chenshuo531702820/p/11103689.html
16.Python略有小成(内置模块Ⅱ)相关推荐
- python常用内置模块-Python常用内置模块之xml模块
xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...
- python常用内置模块-Python常用内置模块之xml模块(详解)
xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...
- python常用内置模块-python 常用内置模块使用
python模块分类:1,标准库2,开源模块3,自定义模块 python 常用内置模块使用 1,time与datetime获取时间戳: time.time() 时间元组: time.localtime ...
- python常用内置模块-Python基础-22常用内置模块
22. 常用内置模块 22.1 random模块 随机数据可以用于数学.测试.安全.算法等领域中.内置random模块,可用于生成伪随机数. 真正意义上的随机数或随机事件是在某次产生过程中是按照实验过 ...
- python常用内置模块-Python内置模块和第三方模块
Python的强大之处在于他有非常丰富和强大的标准库和第三方库(模块),几乎你想实现的任何功能都有相应的Python库支持,就类似于C#中的类库亦或JAVA的jar包,前端中的JS库. 使用模块有什么 ...
- 如何显示python的内置模块_python之模块(内置模块)
内置模块是Python自带的功能,在使用内置模块相应的功能时,需要[先导入]再[使用] 一.sys 用于提供对Python解释器相关的操作: 1 sys.argv #命令行参数List,第一个元素是程 ...
- python常用内置模块-Python-常用的内置模块
常用的内置模块的介绍os,sys,time,datetime,json/pickle,shutil,random 一.os 1.切换目录,查看当前工作的目录os.getcwd 2.当前目录,上级目录o ...
- python常用内置模块-python常用的内置模块
import collections time,datetime 以及 calendar 主要用于封装一些关于集合类的相关操作,例如Iterable ,Iterator 提供了了⼀一些除了了基本数据类 ...
- 学习笔记(16):Python网络编程并发编程-开启子进程的两种方式
立即学习:https://edu.csdn.net/course/play/24458/296424?utm_source=blogtoedu #方式一:使用python内置模块multiproces ...
最新文章
- 提升网络安全 十大策略全面巩固企业内网
- 在 Linux 中使用ImageMagick命令行操作图像文件
- python编程案例教程书籍-清华大学出版社-图书详情-《Python案例教程》
- UVA11384正整数序列(把123..变成0的最小步数)
- 10周带你手推机器学习算法公式,30+视频为你讲解Sklearn库应用
- 从源代码解读spring之DataSource实现和FactoryBean模式(JndiObjectFactoryBean)
- 天池 在线编程 最长AB子串(哈希)
- Spark On MaxCompute如何访问Phonix数据
- ES6新语法--箭头函数
- java代码中发送http请求中使用DnsResolver的问题
- 通过迁移的方式解决Active Directory服务器问题之5-恢复服务器的应用
- Android---------------ContentProvider的学习
- linux中文变成日文,linux nkf 日文编码转换命令[转载]
- mongovue mysql_mongo客户端mongoVUE的使用
- 利用Python查询IP地址
- mysql报No Database Selected
- 学生用计算机怎么调,学生计算器怎么调时间
- SSM知识梳理(整理一半)
- 李宏毅《机器学习》笔记:3.误差分析和梯度下降
- Dapper大规模分布式系统问题跟踪系统
热门文章
- k8s部署tomcat及web应用_部署 Spring Boot 应用到 K8S 教程
- 万兆网卡实际吞吐量_AKITIO 10G/NBASE-T PCIe 网卡开箱拆解评测
- vue 输入框获取焦点
- vue-cli2定制ant-design-vue主题
- [react-router] 请你说说react的路由是什么?
- [react] react的状态提升是什么?使用场景有哪些
- Taro+react开发(24)--this.state和this.props
- 前端学习(3238):react生命周期4
- react学习(41)----react中的jsx简介
- [css] 你有用过CSS预处理器吗?喜欢用哪个?原理是什么?