zoukankan      html  css  js  c++  java
  • 我的Python成长之路---第五天---Python基础(17)---2016年1月30日(晴)

    常用模块#

    1、模块介绍

    模块,用一砣代码实现了某个功能的代码集合。
    模块分为三种

    1. 自定义模块
    2. 内置标准模块(又称标准库)
    3. 开源模块

    2、常用模块

    time模块

    time.time()

    import time
    import datetime
    print(time.time()) # 返回当前时间的时间戳
    

    输出

    1455680962.052844
    

    说明:
    时间戳计算机时间的一种表示方式,是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

    time.ctime()

    print(time.ctime()) # 将时间戳转化为字符串格式Wed Feb 17 11:41:27 2016,默认是当前系统时间的时间戳
    print(time.ctime(time.time()-3600)) # ctime可以接收一个时间戳作为参数,返回该时间戳的字符串形式 Wed Feb 17 10:43:04 2016
    

    输出

    Wed Feb 17 11:49:22 2016
    Wed Feb 17 10:49:22 2016
    

    time.gtime()

    print(time.gmtime()) # 将时间戳转化为struct_time格式,默认是当前系统时间戳
    print(time.gmtime(time.time() - 3600))
    

    输出

    time.struct_time(tm_year=2016, tm_mon=2, tm_mday=17, tm_hour=4, tm_min=15, tm_sec=8, tm_wday=2, tm_yday=48, tm_isdst=0)
    time.struct_time(tm_year=2016, tm_mon=2, tm_mday=17, tm_hour=3, tm_min=15, tm_sec=8, tm_wday=2, tm_yday=48, tm_isdst=0)
    

    说明:
    struct_time格式也是一种时间表现形式,其实有点类似列表或元祖的形式
    共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同顺序为

    1. 年 tm_year
    2. 月 tm_mon
    3. 日 tm_mday
    4. 小时 tm_hour
    5. 分钟 tm_min
    6. 秒 tm_sec
    7. 周 tm_wday,注意周是从0开始计数的,也就是周一是0
    8. 一年中的第几天 tm_yday
    9. 是否是夏令日 tm_isdst(也没啥卵用)

    time.localtime()

    print(time.localtime()) # 同样是将时间戳转化为struct_time,只不过显示的是本地时间,gmtime显示的是标准时间(格里尼治时间)
    

    输出

    time.struct_time(tm_year=2016, tm_mon=2, tm_mday=17, tm_hour=12, tm_min=45, tm_sec=49, tm_wday=2, tm_yday=48, tm_isdst=0)
    

    time.mktime()

    print(time.mktime(time.localtime())) # 将struct_time时间格式转化为时间戳
    

    输出

    1455684885.0
    

    time.strftime()

    print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 将struct_time时间格式转化为自定义的字符串格式
    

    输出

    2016-02-17 12:54:45
    

    说明:
    "%Y-%m-%d %H:%M:%S"就是我们自定义的字符串个"%Y有点类似于占位符,可用的符号如下图所示

    time.trptime()

    print(time.strptime("2016-02-17", "%Y-%m-%d")) # 与trftime相反,将字符串格式转化为struct_time格式
    

    输出

    time.struct_time(tm_year=2016, tm_mon=2, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=48, tm_isdst=-1)
    

    说明:
    第一个参数是时间的字符串形式,第二个参数是第一个参数的格式,格式要与字符串对应
    另外时分秒默认是0,可以省略,但是年月日不可以省

    time.asctime()

    print(time.asctime(time.localtime())) # 将struct_time转化为字符串形式
    

    输出

    Wed Feb 17 13:18:13 2016
    

    总结

    time模块的转化关系为如下图示所示

    说明
    Format string就是我们上面说的自定义字符串格式
    Timstamp为时间戳
    %a %b %d %H:%M:%S %Y也就是我们刚才看到系统默认的字符串格式也就Wed Feb 17 13:18:13 2016这种格式

    datetime模块

    • datetime.date:表示日期的类。常用的属性有year, month, day
    • datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond
    • datetime.datetime:表示日期时间
    • datetime.timedelta: 表示时间间隔,即两个时间点之间的长度

    datetime.date.today()

    print(datetime.date.today()) # 返回当前日期的字符串形式2016-02-17
    

    输出

    2016-02-17
    

    datetime.date.fromtimestamp()

    print(datetime.date.fromtimestamp(time.time() - 3600 * 24)) # 将时间戳转化为日期字符串形式2016-02-16
    

    输出

    2016-02-16
    

    datetime.datetime.now()

    print(datetime.datetime.now()) # 返回的时间的字符串形式2016-02-17 13:53:30.719803
    print(datetime.datetime.now().timetuple()) # 转化为struct_time格式
    

    输出

    2016-02-17 13:53:30.719803
    time.struct_time(tm_year=2016, tm_mon=2, tm_mday=17, tm_hour=14, tm_min=8, tm_sec=30, tm_wday=2, tm_yday=48, tm_isdst=-1)
    

    说明:
    表面上datetime.datetime.now()返回的是一个字符串,其实是datetime.datetime对象<class 'datetime.datetime'>

    datetime.timedelta()

    datetime.timedelta()返回的是一时间间隔对象,常与datetime.datetime.now()合用计算时间

    print(datetime.datetime.now() - datetime.timedelta(days = 2))
    

    输出

    2016-02-15 14:18:06.682098
    

    random模块

    random模块主要用来生成随机数

    random()####

    生成大于0小于1的浮点类型随机数

    print(random.random()) #生成大于0小于1的浮点类型随机数
    

    输出

    0.4336713911254264
    

    randint()

    生成指定区间的整数类型随机数

    print(random.randint(1, 10)) # 生成指定大于等于1小于等于10的随机数
    

    输出

    3
    

    randrange()

    生成指定区间的整数类型随机数,与randint不同的是,不包括第二个参数,也就是小于不是小于等于,而且还有很多其他功能,不常用就不提了

  • 相关阅读:
    Docker常用命令总结(不断更新)
    Docker容器简介-与虚拟机的区别及安装步骤
    ELK搭建—安装使用Kibana可视化
    使用CURL与ElasticSearch服务进行通信
    安装部署ElasticSearch单节点在Linux服务器上
    ElasticStack分布式引擎技术栈(ELK)介绍
    为Nginx服务器配置黑(白)名单的防火墙
    php大力力 [026节] php开发状态要随时做好整理工作
    php大力力 [025节] 来不及学习和分类的,大力力认为有价值的一些技术文章合集(大力力二叔公)(2015-08-27)
    php大力力 [024节]PHP中的字符串连接操作(2015-08-27)
  • 原文地址:https://www.cnblogs.com/zhangxiaxuan/p/5194769.html
Copyright © 2011-2022 走看看