Python高级语法——常用包-程序员宅基地

常用模块

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

calendar

  • 跟日历相关的模块
#使用之前先导入
import calendar
#calendar: 获取一年的日历字符串
#参数
# w = 每个日期之间的间隔字符数
# l = 每周所占用的行数
# c = 每个月之间的间隔字符数
#cal2 = calendar.calender(2019, w=2,l=1,c=6)
#print(cal2)
cal1 = calendar.calendar(2019)
print(cal1)

#isleap 判断某一年是否是闰年
print(calendar.isleap(2018)) #输出结果: False

#获取指定年份之间的闰年的个数,包括前面年份,不包括后面年份
print(calendar.leapdays(1999,2019)) #输出结果: 5

#month() 获取某个月的日历字符串
#格式 calendar.month(年,月)
#回值: 月日历的字符串
mcal = calendar.month(2019, 11)
print(mcal)
'''
输出结果:
   November 2019
Mo Tu We Th Fr Sa Su
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
'''

# monthrange 获取一个月的周几开始,以及该月的天数
# calendar.monthrange(年,月)
# 回值: 元组(周几开始,总天数)
# 注意: 周默认0-6 表示周一到周天
w, t = calendar.monthrange(2019,11)
print(w)
print(t)
'''
输出结果:
4
30
'''

# monthcalendar() 返回一个月每天的矩阵列表
# calendar.monthcalendar(年, 月)
# 回值: 二级列表
# 注意: 矩阵中没有的天数用0表示
m = calendar.monthcalendar(2019, 10)
print(type(m))
print(m)
'''
输出结果:
<class 'list'>
[[0, 1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12, 13], [14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27], [28, 29, 30, 31, 0, 0, 0]]
'''

#prcal 直接打印日历, print calendar的缩写
calendar.prcal(2019)

#prmonth 直接打印当月日历
#格式: calender.prmonth(年,月)
#返回值: 无
calendar.prmonth(2019, 11)
'''
输出结果:
   November 2019
Mo Tu We Th Fr Sa Su
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
'''
# weekday() 获取周几
# 格式: calendar.weekday(年,月,日)
# 返回值: 周几对应的数字
print(calendar.weekday(2019,11,6)) #输出结果: 2

time 模块 time模块详细信息

时间戳
  • 一个时间表示,根据不同语言,可以是整数或者浮点数
  • 是从1970年1月1日0点0分0秒到现在经历的秒数
  • 如果表示的1970年以前或者太遥远的未来,可能出现异常
  • 32位操作系统能够支持到2038年
UTC时间
  • UTC又称为时间协调时间,以英国格林尼治天文所在地区的时间作为参考时间,也称为世界标准时间.
  • 中国时间是 UTC+8 东八区
夏令时
  • 就是在夏天的时候把标拨快1个小时,督促大家早睡早起,每天变成25个小时,本质没变,还是24小时
时间元祖
  • 一个包含时间内容的普通元祖
0    年            tm_year    2008
1    月            tm_mon	  112
2    日            tm_mday	  131
3    小时          tm_hour	  023
4    分钟          tm_min	  059
5	 秒            tm_sec	  061 (6061 是闰秒)
6   一周的第几日   tm_wday	  06 (0是周一)
7   一年的第几日   tm_yday	  1366(儒略历)
8	夏令时         tm_isdst	  -1, 0, 1, -1是决定是否为夏令时的旗帜
# 需要单独导入:
import time

#时间模块的属性
# timezone: 当前时区和UTC时区相差的秒数,在没有夏令营时的情况下的间隔
print(time.timezone)  # 输出结果: -28800

#time.altzone: 返回格林威治西部的夏令时地区的偏移秒数。如果该地区在格林威治东部会返回负值(如西欧,包括英国)。对夏令时启用地区才能使用。
print(time.altzone)  #输出结果: -32400

#daylight: 测当前是否夏令营状态, 0表示不是
print(time.daylight)  #输出结果: 0

#得到时间戳
print(time.time())  #输出结果: 1573020511.09916

#localtime: 得到当前的时间结构
#可以通过点号操作符得到相应的属性元素的内容
t = time.localtime()
print(t.tm_mday)   #输出结果: 6

#time.asctime
#接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
t = time.localtime()
tt = time.asctime(t)
print(tt)  #输出结果: Wed Nov  6 14:35:27 2019

#time.ctime: 获取字符串化的当前时间, 不需要通过localtime来获取一次
print(time.ctime())    #输出结果: Wed Nov  6 14:35:27 2019

#time.mktime(tupletime):  接受时间元组并返回时间戳(1970纪元后经过的浮点秒数).
lt = time.localtime()
ts = time.mktime(lt)
print(ts)    #输出结果: 1573022397.0


#s	time.sleep(secs):  推迟调用线程的运行,secs指秒数。
for i in range(10):
    print(i)
    time.sleep(1)
'''
输出结果:
每隔一秒打印一个
0
1
2
3
4
5
6
7
8
9
'''
strftime 将时间元祖转化为自定义的字符串格式

python中时间日期格式化符号:

%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 当前时区的名称
%% %号本身

datetime 模块 datetime官方描述

  • datetime 提供日期和时间的运算和表示
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/huaxingling/article/details/102919233

智能推荐

FaceBook, Detectron2 基于PyTorch1.3环境安装 部署 测试-程序员宅基地

文章浏览阅读1.1k次。.官方安装方法地址:https://github.com/facebookresearch/detectron2/blob/master/INSTALL.md1.环境要求: 1.Python >= 3.6 2.PyTorch 1.3 conda install pytorch=1.3 torchvision cudatoolkit=10.1 3...

统计一个字符串中大写字母字符和小写字母字符,数字字符出现的次数-程序员宅基地

文章浏览阅读1k次。分析:1.键盘录入一个字符串数据2.定义三个统计变量,初始化值都是03.遍历字符串,得到每个字符4.拿字符进行比较,如何判断大小写?假设ch是一个字符: 大写判断:ch>='A' && ch <= 'Z'; 小写判断:ch >='a' && ch <..._键盘录入一个字符串,统计其中的大小写字符,小写字符和数字字符出现的次数(不考虑

安卓音视频开发,字节跳动Android实习面试凉凉经,年薪超过80万!_手游利用hook 封包网络数据反馈回来给我-程序员宅基地

文章浏览阅读136次。前言前几天去参加了一场面试。面试的题目大多很基础,有一道关于埋点的问题,面试官问我如果不用第三方SDK进行埋点,自己埋点的话,如何减少埋点对业务代码的入侵。当时没想太多,就说创建一个 BaseView 类,在这个类中进行埋点的操作,然后使需要进行埋点操作的 View 继承这个 Base 类。后来想想,这个方案其实存在很多问题,因为让每个需要埋点的 View 去继承 BaseView 类,说明 View 需要自定义,会耗费很多的时间和精力,对于自带的 Button 等控件的埋点,这种方法又无法实现。所以说_手游利用hook 封包网络数据反馈回来给我

[附源码]计算机毕业设计JAVA流浪动物领养系统_社区宠物管理系统er图-程序员宅基地

文章浏览阅读994次。附源码]计算机毕业设计JAVA流浪动物领养系统项目运行环境配置:(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat。_社区宠物管理系统er图

一建市政务实-第一章-市政公用工程技术-2.城市桥梁工程-1.城市桥梁结构形式及通用施工技术_一建市政桥梁维护与改造施工技术-程序员宅基地

文章浏览阅读796次。桥梁是在道路线路遇到江河湖泊、山谷深沟以及其他线路(铁路公路)等障碍时,为了保持道路的连续性而专门建造的人工构造物。桥梁既要保证桥上的交通运行,也要保证桥下水流的宣泄、船只的通航或车辆的通行。_一建市政桥梁维护与改造施工技术

随便推点

【bioinfo】了解IGH基因和IGH基因重排_igh重排序列比对-程序员宅基地

文章浏览阅读8.6k次,点赞2次,收藏8次。IGH基因重排_igh重排序列比对

halcon自动对焦算法_halcon 自动对焦算法-程序员宅基地

文章浏览阅读5k次,点赞8次,收藏55次。1、介绍图像清晰度是衡量图像质量的一个重要指标,对于相机来说,其一般工作在无参考图像的模式下,所以在拍照时需要进行对焦的控制。对焦不准确,图像就会变得比较模糊不清晰。相机对焦时通过一些清晰度评判指标,控制镜头与CCD的距离,使图像成像清晰。一般对焦时有一个调整的过程,图像从模糊到清晰,再到模糊,确定清晰度峰值,再最终到达最清晰的位置。 常见的图像清晰度评价一般都是基于梯度的方法,本文将介绍五种简单的评价指标,分别是Brenner梯度法、Tenegrad梯度法、laplace梯度法、方差法、能量梯度法。 _halcon 自动对焦算法

一种多分类的Logistic Regression-Soft Max Regression_多分类的logistic regression的损失函数对θ的偏导数-程序员宅基地

文章浏览阅读6.2k次。我们知道logistic regression很适合做一些非线性方面的分类问题,不过它只适合处理二分类的问题,且在给出分类结果时还会给出结果的概率。那么如果需要用类似的方法(这里类似的方法指的是输出分类结果并且给出概率值)来处理多分类问题的话该怎么扩展呢?本次要讲的就是对logstic regression扩展的一种多分类器,softmax regression。参考的内容为网页:http://d_多分类的logistic regression的损失函数对θ的偏导数

简要描述服务器虚拟化四大特性,虚拟化的四大特性-程序员宅基地

文章浏览阅读3.9k次。大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。虚拟化的四大特性是:1、封装:虚拟机都保存在文件中,且可通过移动跟复制这些文件的方式来移动跟复制该虚拟机。2、相对于硬件独立:无需修改即可在任何服务器上运行虚拟机。3、隔离:在同一服务器上的虚拟机之间互相隔离,改变了之前单台物理机服务器只能挂以个应用的格局。即在一个物理服务器上可以同时运行N个操作系统,每个系统中部署以个应用,这些..._虚拟机的四个特征

windows下 git log 显示中文乱码_windows git设置lang-程序员宅基地

文章浏览阅读263次。windows下 git log 显示中文乱码1、添加环境变量LESSCHARSET = UTF-82、修改git目录下配置文件位置: C:\Program Files\Git\etc\profile添加export LANG=zh_CN.UTF-8export LESSCHARSET=utf-8可能修改其中一个就可以_windows git设置lang

一文搞定深度优先搜索(DFS)与广度优先搜索(BFS)【含完整源码】_dfs广度优先代码-程序员宅基地

文章浏览阅读3.3k次,点赞2次,收藏13次。写在前面:博主是一位普普通通的19届二本大学生,平时最大的爱好就是听听歌,逛逛B站。博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事,做自己以后不会留有遗憾的事,做自己觉得有意义的事,不浪费这大好的青春年华。博主写博客目的是记录所学到的知识并方便自己复习,在记录知识的同时获得部分浏览量,得到更多人的认可,满足小小的成就感,同时在写博客的途中结交更多志同道合的朋友,让自己在技术的路上并不孤单。目录: 1.深度优先搜索(DFS) 2. ._dfs广度优先代码

推荐文章

热门文章

相关标签