#常用模块

time

  • sleep:休眠指定的秒数(可以是小数)

  • time:获取时间戳(从1970-01-01 00:00:00到此刻的秒数)

  • localtime:将一个时间戳转换为一个对象,对象中包含了所有日期时间信息

    # 将时间戳转换为一个对象(包含年月日等信息)
    # 当不传参数,默认转换当前时间戳
    local_time = time.localtime()
    print(local_time)
    # 通过下表获取
    print(local_time[0])
    # 通过属性名获取
    print(local_time.tm_year)
  • mktime:将日期时间信息转换为时间戳

    # 将日期时间信息转换为时间戳
    # new_time = time.mktime(local_time)
    new_time = time.mktime((2018, 6, 20, 10, 32, 10, 2, 171, 0))
    print(new_time)
  • strftime:将原则对象格式化显示

    # 格式化显示,可以传递一个类似于元组的对象
    print(time.strftime('%Y-%m-%d %H:%M:%S %w %W', local_time))
    # 不传时间对象,默认转换当前时间
    print(time.strftime('%D'))
    '''
    %Y:年(4位)
    %y:年(2位)
    %m:月
    %d:日
    %D:月/日/年
    %H:时(24)
    %I:时(12)
    %M:分
    %S:秒
    %w:星期(1~7)
    %W:本周是今年的第几周
    '''
  • gmtime:将时间戳转换为localtime对象

    # 将时间戳转换为localtime对象
    print(time.gmtime(time.time()))
    # 不传参数默认转换当前时间戳
    print(time.gmtime())
  • asctime:将localtime以特定的格式显示

    # 将localtime格式化显示
    print(time.asctime(local_time))
    # 不传参数默认转换当前时间
    print(time.asctime())
  • timezone:时区

    # 返回0时区与当前时区相差的秒数
    print(time.timezone)

calendar

  • 使用

    import calendar
    
    # 返回某一年的日历
    c = calendar.calendar(2018, w=3, l=2, c=10, m=2)
    # print(c) # 返回某一年某一月的日历
    m = calendar.month(2018, 6, w=3, l=2)
    # print(m) # 判断一个年份是否是闰年
    print(calendar.isleap(2008)) # 返回两个年份之间的闰年数 [起始年,结束年)
    print(calendar.leapdays(2000, 2008)) # 返回2
    print(calendar.leapdays(2000, 2009)) # 返回3

datetime

  • date

    from datetime import date
    import time # 创建对象
    d1 = date(2018, 6, 20)
    print(d1) d2 = date.today()
    print(d2) d3 = date.fromtimestamp(time.time())
    print(d3) # 转换为标准格式字符串
    s = d1.isoformat()
    print(s)
    # print(type(s)) # 日历显示:(年,第几周,星期)
    print(d1.isocalendar()) # 获取星期(1~7)
    print(d1.isoweekday())
    # 获取星期(0~6)
    print(d1.weekday()) # 格式化
    print(d1.strftime('%Y/%m/%d')) # 转换为类似于元组的形式(localtime)
    print(d1.timetuple())
  • time

    from datetime import time
    
    # 创建对象
    t = time(1, 2, 3)
    print(t) # 单独获取
    print('时', t.hour)
    print('分', t.minute)
    print('秒', t.second) # 格式化显示
    print(t.strftime('%H::%M::%S'))
  • datetime

    from datetime import datetime
    import time # 创建对象
    dt = datetime(2018, 6, 20, 14, 29, 30)
    print(dt)
    # 当前时间,当地带时区的时间
    dt2 = datetime.now()
    print(dt2)
    # 不带时区的时间
    dt3 = datetime.utcnow()
    print(dt3)
    # 将时间戳转换为日期时间
    dt4 = datetime.fromtimestamp(time.time())
    print(dt4) # 提取日期
    d = dt.date()
    print(d)
    # print(type(d))
    # 提取时间
    print(dt.time())
    # 转换为时间戳
    print(dt.timestamp()) # 格式化显示
    print(dt.strftime('%Y/%m/%d %H:%M:%S'))
  • timedelta

    from datetime import datetime, timedelta
    
    d1 = datetime(2018, 6, 19, 10, 11, 12)
    d2 = datetime(2018, 6, 20, 12, 14, 18) # 得到时间差对象timedelta
    delta = d2 - d1
    print(delta)
    print(type(delta)) delta2 = timedelta(days=2, hours=3, minutes=4, seconds=6)
    print(delta2) d3 = d1 + delta2
    print(d3) # 天数
    print(delta2.days)
    # 除天以外的秒数
    print(delta2.seconds)
    # 总共的秒数
    print(delta2.total_seconds())

模块使用

  • 定义:模块就像工具包一样,里面有很多工具(函数、类等),使用时导入即可

  • 分类:

    • 标准库:random、sys、os、time
    • 第三方:就是别人写好的一些模块,你自己拿来使用(使用pip即可进行安装)
    • 自定义:自己写的
  • 导入:

    import random                # 导入
    import random as rdm # 导入后起别名
    from random import randint # 指定导入
    from random import randint as rint # 指定导入后起别名

    as说明:

    ​ 使用as起别名后,代码中只能使用别名。

    ​ 可以避免冲突,可写简化书写

  • 模糊导入:

    from random import *    

    说明:导入random模块中 __ all __ 列表指定的内容,不建议使用(不易跟踪代码)

  • 自定义模块

    • 新建一个文件(不要与其他模块同名)
    • 新建的文件名(除了后缀)就是模块名
    • 导入的方式与官方的相同
    • 文件名(模块名)就是命名空间,不同命名空间下的标识符可以相同
    • 当使用多个模块下的相同标识符时,可以通过且别名或者通过命名空间进行区分
  • 测试模块

    • 每个模块中都有一个变量__name__,它表示当前的模块名
    • 但是当该模块作为主文件启动时其值为'__main__'
    • 通过会通过下面的方式书写测试代码:
    if __name__ == '__main__':
    print('for test')
  • 包的使用

    • 定义:多个模块放在一个目录下,这个目录下必须有一个__init__.py文件,那么这个目录就是一个包
    • 说明:
      • __init__.py文件是一个目录称为包的标志,即使内容为空
      • 可以简化使用者对包内容的导入复杂度
  • 第三方模块的使用

    • 安装工具:pip
    • pip使用:
    pip -h/--help               # 查看帮助文档
    pip install 包名 # 安装指定软件包
    pip uninstall 包名 # 卸载指定软件包
    pip list # 列表显示所有的安装包
    pip show 包名 # 显示指定包的详情
    • 说明:安装失败通常是安装目录没有权限或断网

Python基础—10-常用模块:time,calendar,datetime的更多相关文章

  1. python基础31[常用模块介绍]

    python基础31[常用模块介绍]   python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...

  2. 十八. Python基础(18)常用模块

    十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...

  3. Python全栈开发之路 【第六篇】:Python基础之常用模块

    本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...

  4. Python基础之--常用模块

    Python 模块 为了实现对程序特定功能的调用和存储,人们将代码封装起来,可以供其他程序调用,可以称之为模块. 如:os 是系统相关的模块:file是文件操作相关的模块:sys是访问python解释 ...

  5. python基础之常用模块以及格式化输出

    模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...

  6. Day5 - Python基础5 常用模块学习

    Python 之路 Day5 - 常用模块学习   本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shel ...

  7. Python基础5 常用模块学习

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...

  8. Python基础之常用模块

    一.time模块 1.时间表达形式: 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: 1.1.时间戳(timestamp) :通常来说,时间 ...

  9. python基础(11)-常用模块

    re(正则)模块 常用方法 findall() 以列表返回所有满足条件的结果 import re print(re.findall('\d','a1b2c2abc123'))#['1', '2', ' ...

  10. Python基础之常用模块(一)

    模块本质就是一个.py文件,在安装目录下的lib文件夹下可以看到 模块分为三个部分:内置模块(存在于解释器中),第三方模块(lib文件夹下),自定义模块(自己定义的) 1.time模块 import ...

随机推荐

  1. Javascript模块化编程(二)AMD规范(规范使用模块)

    这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块,先想一想,为什么模块很重要?接下来为您详细介绍,感兴趣的朋友可以了解下啊.今天介绍如何规范地使用模块. 七.模块 ...

  2. 深入理解JavaScript系列(7):S.O.L.I.D五大原则之开闭原则OCP

    前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第2篇,开闭原则OCP(The Open/Closed Principle ). 开闭原则的描述是: Software ...

  3. [转]浅谈微信小程序

    本文转自:http://www.cnblogs.com/liziyou/p/6340159.html 微信小程序 1.什么是小程序 小程序是指微信公众号平台小程序,小程序可以在微信内被便捷的获取和转播 ...

  4. C# string Stream 互转

    使用C#将字符串转化成流,将流转换成字符串,代码如下: using System.IO; using System.Text; namespace CSharpConvertString2Stream ...

  5. WebGrease—异常来自 HRESULT:0x80131040

    一.错误源: 未能加载文件或程序集“WebGrease, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一 ...

  6. vue打包(npm run build)时错误记录

    vue项目打包时,报错如下: 问题分析:semver.js报错,版本不正确,解决办法,打包时忽略版本检查 解决办法:

  7. C语言入门(一)环境搭建

    1. 下载Code::Blocks(源文本编辑器) 2. 下载编译器MinGW(或者下载好自带编译器的codeblocks) http://jingyan.baidu.com/article/c843 ...

  8. 【Linux】Linux 在线安装yum

    Linux如何安装软件? 一.RPM安装 优点: 安装过程很简单 缺点: 需要自己寻找和系统版本对应的RPM包 安装过程中需要解决包的依赖问题(例如tftp包) 二.yum在线安装 软件包仓库 仓库的 ...

  9. win7+jdk1.6+solr4.7.2在内嵌jetty servelt或外置tocmat服务器的solr服务使用

        solr安装,目前初步接触solr,了解两种启动方式.一种是自带的jetty,另一种是基于tomcat.由于超过4.7.2版本的solr需要java1.7及以上版本的支持,所以我们选择solr ...

  10. Mantis中的状态

    在 Mantis中的 问题状态一共有以下几种 10:new,20:feedback,30:acknowledged,40:confirmed,50:assigned,80:resolved,90:cl ...