Python(内置模块Ⅱ)

一、规范化开发

  1. 一个py文件中

    • 文件加载问题
    • 代码可读性,查询差
  2. 要将一个py文件分开,合理的分成多个py文件
    • 配置文件放在一起 : 一些轻易不改变的变量,一般命名 settings.py
    • 主逻辑函数放在一起 : 一般命名 src.py
    • 辅助功能函数放在一起 : 公共组件部分,装饰器,log日志,一般命名 common.py
    • 程序启动开关 : 放在明显位置,便于开启程序,一般命名 starts.py
    • 数据库文件 : register文件,文本数据库
    • 日志 : log文件
  3. 文件夹命名规范
    • bin 文件夹放启动文件
    • conf 放配置文件
    • core 放核心文件 主逻辑
    • lib 放公共组件文件
    • db 放数据库文件
    • log 放日志文件
    • 外加一个使用说明,README,此为文件

二、time模块

  1. 与实践相关的模块三种形式:

    • 时间戳 : 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个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)

  2. 我们先导入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)
  3. 几种格式之间的转换

    # 格式化时间 ---->  结构化时间
    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略有小成(内置模块Ⅱ)相关推荐

  1. python常用内置模块-Python常用内置模块之xml模块

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...

  2. python常用内置模块-Python常用内置模块之xml模块(详解)

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...

  3. python常用内置模块-python 常用内置模块使用

    python模块分类:1,标准库2,开源模块3,自定义模块 python 常用内置模块使用 1,time与datetime获取时间戳: time.time() 时间元组: time.localtime ...

  4. python常用内置模块-Python基础-22常用内置模块

    22. 常用内置模块 22.1 random模块 随机数据可以用于数学.测试.安全.算法等领域中.内置random模块,可用于生成伪随机数. 真正意义上的随机数或随机事件是在某次产生过程中是按照实验过 ...

  5. python常用内置模块-Python内置模块和第三方模块

    Python的强大之处在于他有非常丰富和强大的标准库和第三方库(模块),几乎你想实现的任何功能都有相应的Python库支持,就类似于C#中的类库亦或JAVA的jar包,前端中的JS库. 使用模块有什么 ...

  6. 如何显示python的内置模块_python之模块(内置模块)

    内置模块是Python自带的功能,在使用内置模块相应的功能时,需要[先导入]再[使用] 一.sys 用于提供对Python解释器相关的操作: 1 sys.argv #命令行参数List,第一个元素是程 ...

  7. python常用内置模块-Python-常用的内置模块

    常用的内置模块的介绍os,sys,time,datetime,json/pickle,shutil,random 一.os 1.切换目录,查看当前工作的目录os.getcwd 2.当前目录,上级目录o ...

  8. python常用内置模块-python常用的内置模块

    import collections time,datetime 以及 calendar 主要用于封装一些关于集合类的相关操作,例如Iterable ,Iterator 提供了了⼀一些除了了基本数据类 ...

  9. 学习笔记(16):Python网络编程并发编程-开启子进程的两种方式

    立即学习:https://edu.csdn.net/course/play/24458/296424?utm_source=blogtoedu #方式一:使用python内置模块multiproces ...

最新文章

  1. 提升网络安全 十大策略全面巩固企业内网
  2. 在 Linux 中使用ImageMagick命令行操作图像文件
  3. python编程案例教程书籍-清华大学出版社-图书详情-《Python案例教程》
  4. UVA11384正整数序列(把123..变成0的最小步数)
  5. 10周带你手推机器学习算法公式,30+视频为你讲解Sklearn库应用
  6. 从源代码解读spring之DataSource实现和FactoryBean模式(JndiObjectFactoryBean)
  7. 天池 在线编程 最长AB子串(哈希)
  8. Spark On MaxCompute如何访问Phonix数据
  9. ES6新语法--箭头函数
  10. java代码中发送http请求中使用DnsResolver的问题
  11. 通过迁移的方式解决Active Directory服务器问题之5-恢复服务器的应用
  12. Android---------------ContentProvider的学习
  13. linux中文变成日文,linux nkf 日文编码转换命令[转载]
  14. mongovue mysql_mongo客户端mongoVUE的使用
  15. 利用Python查询IP地址
  16. mysql报No Database Selected
  17. 学生用计算机怎么调,学生计算器怎么调时间
  18. SSM知识梳理(整理一半)
  19. 李宏毅《机器学习》笔记:3.误差分析和梯度下降
  20. Dapper大规模分布式系统问题跟踪系统

热门文章

  1. k8s部署tomcat及web应用_部署 Spring Boot 应用到 K8S 教程
  2. 万兆网卡实际吞吐量_AKITIO 10G/NBASE-T PCIe 网卡开箱拆解评测
  3. vue 输入框获取焦点
  4. vue-cli2定制ant-design-vue主题
  5. [react-router] 请你说说react的路由是什么?
  6. [react] react的状态提升是什么?使用场景有哪些
  7. Taro+react开发(24)--this.state和this.props
  8. 前端学习(3238):react生命周期4
  9. react学习(41)----react中的jsx简介
  10. [css] 你有用过CSS预处理器吗?喜欢用哪个?原理是什么?