Python常用包介绍

Python常用的模块有

-calendar
-time
-datetime
-timeit
-os
-shutil
-zip
-math
-string
-上述所有模块使用理论上都应该先导入,string是特例
-calendar,time,datetime的区别参考中文意思

calendar

  • 跟日历相关的模块

  • 使用需要先导入

      import calendar
    

-calendar:获取一年的日历字符串
-calendar参数:
1.w = 每个日期间的间隔字符数
2.l = 每周所占用的行数
3.c = 每个月之间的间隔字符数

	cal = calendar.calendar(2019)
	print(cal)

-month() 获取某个月的日历字符串

  • 格式:calendar.month(年,月)
    -反回值:月日历的字符串

      m3 = calendar.month(2019, 3)
      print(m3)
    

-monthrange() 获取一个月的周几开始即和天数

  • 格式:calendar.monthrange(年,月)

  • 回值:元组(周几开始,总天数)

  • 注意:周默认 0 -6 表示周一到周天

      w,t = calendar.monthrange(2019, 3)
      print(w)
      print(t)
    

-monthcalendar() 返回一个月每天的矩阵列表

  • 格式:calendar.monthcalendar(年,月)

  • 回值:二级列表

  • 注意:矩阵中没有天数用0表示

      m = calendar.monthcalendar(2019, 3)
      print(type(m))
      print(m)
    
  • prcal: print calendar 直接打印日历

      calendar.prcal(2018)
    
  • prmonth() 直接打印整个月的日历

  • 格式:calendar.prmonth(年,月)

  • 返回值:无

      calendar.prmonth(2018, 3)
    
  • weekday() 获取周几
    -式:calendar.weekday(年,月,日)
    -:周几对应的数字

      calendar.weekday(2018, 3, 26)
    

time模块

##时间戳
- 个时间表示单位,根据不同的语言,可以是整数或者浮点数
- 是从1970年1月1日0时0分0秒到现在经历的秒数
- 如果表示的时间是从1970年以前或者太遥远的未来,可能会出现异常
- 32位操作系统能够支持到2038年
##TC时间
- UTC又称为世界协调时间,以英格兰的格林尼治天文所在地区的时间作为参考的时间,也叫作世界标准时间。
- 中国时间是 UTC+8 东八区
##夏令时
- 夏令时时间就是在夏天的时候将时间调快一个小时,本意是督促大家早睡早起!每天变为25小时,本质没变还是24小时
##时间元组
-一个包含时间内容的普通元组
在这里插入图片描述

  • 需要单独导入time模块

  • 时间模块的属性
    1.timezone:前时区和UTC时间相差的秒数,在没有夏令时的情况下的间隔,东八区的是 -28800
    2.ltzone 获取当前时区与UTC时间相差的秒数,在有夏令时的情况下,
    3.aylight 测当前是否是夏令时时间状态, 0 表示是

      print(time.daylight)
      print(time.altzone)
      print(time.timezone)
    
  • 得到时间戳

      time.time()
    

-localtime, 得到当前时间的时间结构 -可以通过点号操作符得到相应的属性元素的内容

	t = time.localtime() 		
	print(t.tm_hour) 
  • asctime() 返回元组的正常字符串化之后的时间格式

  • 格式:time.asctime(时间元组)

  • 返回值:字符串 Tue Jun 6 11:11:00 2017

    t =time.localtime()
    tt = time.asctime(t) 		
    print(type(tt)) 		
    print(tt) 
    
  • ctime: 获取字符串化的当前时间

      t = time.ctime() 		
      print(type(t)) 		
      print(t)  
    

-mktime() 使用时间元组获取对应的时间戳
-格式:time.mktime(时间元组)
-返回值:浮点数时间戳

	lt = time.localtime()
	ts = time.mktime(lt)
	print(type(ts))
	print(ts)
  • clock :获取CPU时间,版本3.0-3.3直接使用,3.6调用有问题
  • sleep:是程序进入睡眠,n秒后继续

strftime:将时间元组转化为自定义的字符串格式

格式 含义 备注
%a 本地(locale)简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01 - 31)
%H 一天中的第几个小时(24 小时制,00 - 23)
%I 一天中的第几个小时(12 小时制,01 - 12)
%j 一年中的第几天(001 - 366)
%m 月份(01 - 12)
%M 分钟数(00 - 59)
%p 本地 am 或者 pm 的相应符 注1
%S 秒(01 - 61) 注2
%U 一年中的星期数(00 - 53 星期天是一个星期的开始)第一个星期天之前的所有天数都放在第 0 周 注3
%w 一个星期中的第几天(0 - 6,0 是星期天) 注3
%W 和 %U 基本相同,不同的是 %W 以星期一为一个星期的开始
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%z 用 +HHMM 或 -HHMM 表示距离格林威治的时区偏移(H 代表十进制的小时数,M 代表十进制的分钟数)
%% %号本身

datetime模块

  • datetime提供日期和时间的算和表示

  • datetime的常见属性 datetime.date:一个理想和的日期,提供year,month,day属性

  • datetime.time:提供一个理想和的时间,居于hour,minite,second等

  • datetime.datetime:提供日期跟时间的组合

  • datetime.timedelta:提供一个时间差,时间长度

    datetime.datetime

      from datetime import datetime 
    
  • 它的常用类方法:

  1. today:

  2. now

  3. utcnow

  4. fromtimestamp: 从时间戳中返回本地时间

     dt = datetime(2018, 3, 26) print(dt.today()) print(dt.now()) 
     print(dt.fromtimestamp(time.time()))
    

datetime.timedelta

-表示一个时间间隔

	from datetime import datetime,timedelta
	t1 = datetime.now()
	print(t1.strftime("%Y-%M-%d %H:%M:%S")
	#td表示一个小时的时间长度
	td = timedelta(hours=1)
	#当前时间加上时间间隔后,把得到的一个小时后的时间格式化输出
	print((t1+td).strftime("%Y-%m-%d %H:%M:%S"))

timeit-时间测量工具

-测量程序运行时间间隔实验

  • timeit可以执行一个函数,来测量一个函数的执行时间

      s = '''
      def doIt(num):
      	for i in range(num):
      		print("Repeat for {0}".format(i))
      	'''
      #执行doIt(num)
      #setup负责把环境变量准备好
      #实际相当于给timeit创在一个小环境
      #在创造小环境中,代码的执行顺序大致是
      '''
      def doIt(num):
          ....
      num=3
      doIt(num)
      '''
      t = timeit.timeit("doIt(num)",setup=s+"num=3",number=10)
      print(t)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值