time

- sleep:休眠指定的秒数(可以是小数)
- time:获取时间戳
# 获取时间戳(从1970-01-01 00:00:00到此刻的秒数)
t = time.time()
print(t)
- localtime:将时间戳转换为对象
# 将一个时间戳转换为日期时间(time.struct_time)对象
local_time = time.localtime()
# print(local_time)
# print(local_time.tm_year)
# print(local_time[0])
- mktime:根据年月日等信息转换为时间戳
# 根据年月日时分秒等转换为时间戳
new_time = time.mktime((2018, 7, 31, 10, 37, 38, 1, 212, 0))
print(new_time)
- gmtime:功能同localtime
# 将时间戳转换time.struct_time,不包含时区
gt = time.gmtime()
# print(gt)
- timezone:时差
# 0时区与当前时区相差的秒数
print(time.timezone)
- strftime:将time.struct_time对象格式化显示
# 格式化显示
# print(time.strftime('%Y-%m-%d %H:%M:%S', local_time))
print(time.strftime('%D', local_time))
'''
%Y:年(4位)
%y:年(2位)
%m:月
%d:日
%D:月/日/年
%H:时
%M:分
%S:秒
%w:星期(1~7)
%W:本周是今年的第几周
'''
# 特定的显示格式
print(time.asctime()) calendar - 使用
import calendar # 返回一年的日历
c = calendar.calendar(2018, w=2, l=2, c=2, m=2)
# print(c) # 返回某年的的某月的日历
m = calendar.month(2018, 7)
# print(m) # 闰年判断
print(calendar.isleap(2008)) # 两个年份之间的闰年数量,区间:[起始,结束)
print(calendar.leapdays(2000, 2008))
print(calendar.leapdays(2000, 2009)) datetime - date
from datetime import date
import time # 创建对象
d1 = date(2018, 7, 31)
# print(d1) d2 = date.today()
# print(d2) d3 = date.fromtimestamp(time.time())
# print(d3) # 标准格式
print(d1.isoformat()) # 日历显示,格式:(年,日,星期)
print(d2.isocalendar()) # 获取星期,标准格式1~7
print(d2.isoweekday())
# 获取星期,格式0~6
print(d2.weekday()) # 格式化显示
print(d3.strftime('%Y/%m/%d')) # 转换为包含详细信息的对象(time.struct_time)
print(d3.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, 7, 31, 14, 21, 22)
# print(dt)
# print(type(dt)) # 本地当前时间,带时区
dt2 = datetime.now()
# print(dt2) # 0时区时间,不带时区
dt3 = datetime.utcnow()
# print(dt3) # 根据时间戳转换
dt4 = datetime.fromtimestamp(time.time())
# print(dt4) # 提取日期
d = dt.date()
print(d)
print(type(d)) # 提起时间
t = dt.time()
print(t)
print(type(t)) # 转换为时间戳
print(dt.timestamp()) # 格式化显示
print(dt.strftime('%Y/%m/%d %H/%M/%S'))
- timedelta from datetime import datetime, timedelta d1 = datetime(2018, 7, 31, 14, 31, 32)
d2 = datetime(2018, 7, 31, 14, 15, 32) delta = d1 - d2
print(delta)
print(type(delta)) # delta2 = timedelta(days=1, hours=1)
delta2 = timedelta(seconds=-3600)
print(delta2) d3 = d2 + delta2
print(d3) # 提取天数
print(delta2.days) # 提取除天以外的秒数
print(delta2.seconds) # 总共的秒数
print(delta2.total_seconds()) 模块使用 - 定义:模块就像工具包一样,里面包含函数、类等,使用时倒入即可。
- 分类:
- 标准库:random、os、sys、time等
- 自定义:自己根据需要书写的模块
- 第三方:就是别人写好的模块,自己可以直接使用,但是需要(pip)进行安装
- 语法:
# 导入模块
import time
# 导入模块中指定的内容
from time import sleep # 导入模块并起别名,只能使用别名
import random as rdm
# 导入模块的指定内容,并起别名
from random import randint as rint
- as:
- 使用as可以起别名,让导入的所需内容简单易记
- 使用as可以解决多个模块下的标识符冲突问题
- 模糊导入:
# 模糊导入,会导入该模块下__all__指定的内容
# 不建议使用,因为你不知道导入了什么内容
from random import *
- 自定义模块
- 新建一个文件(文件名不要与其他模块相同)
- 新建的文件名(除了后缀)就是模块名
- 导入模块的方式与官方的一样
- 模块名(文件名)就是命名空间,同一模块下的标识符不能同名,不同模块下的标识符可以同名
- 当多个模块下的标识符同名时,可以直接导入模块,也可以导入后起别名
- 测试模块
- 每个模块中都有一个变量__name__,表示当前的模块名
- 但是当前模块作为启动文件时,其值为__main__
- 通常我们这样写测试代码:
if __name__ == '__main__':
print('测试')
- 包的使用
- 定义:多个模块放在同一个目录下,这个目录下必须有一个文件__init__.py,这个目录就是一个包
- 说明:
- __init__.py文件是一个目录作为包的标志,即使该文件内容为空
- 导入时可以简化模块导入的复杂度
- 第三方模块安装
- 工具:pip
- 使用:
pip -h/--help # 查看帮助文档
pip install 包名==版本 # 安装指定的包
pip install -r 文件 # 安装文件中指定包
pip uninstall 包名 # 卸载指定的包
pip list # 列表展示已安装的包
pip show 包名 # 查看指定的包信息
pip freeze # 冷冻当前的环境
- 说明:
- 软件包安装目录:python安装目录\Lib\site-packages
- 安装失败通常是因为没有权限或断网。 虚拟环境 - 为什么使用虚拟环境?
- 在一个环境中不同软件依赖一个包的不同版本,为了进行环境隔离就出现了虚拟环境。
- 安装工具:virtualenv
- pip install virtualenv
- 创建虚拟环境:
- virtualenv 虚拟环境目录
- 激活虚拟环境:
- 运行:虚拟环境目录\Scripts\activate.bat
- 退出虚拟环境:
- 运行:虚拟环境目录\Scripts\deactivate.bat
- 快速复制一个虚拟环境:
- 冷藏原有的虚拟环境:pip freeze > requeirements.txt
- 创建一个新的虚拟环境:virtualenv 虚拟环境名
- 激活虚拟环境:虚拟环境目录\Scripts\activate.bat
- 安装依赖:pip install -r requirements.txt

最新文章

  1. node与Elment以及子节点childrenNode与children的区别(2)
  2. orcherd 汉化
  3. eclipse[downloads]
  4. 功能丰富的 Perl:轻松调试 Perl
  5. Win8关机 一直重启的问题 解决方案-摘自网络
  6. uoj164. 【清华集训2015】V 统计
  7. codevs 1198 国王游戏
  8. 转 批处理 %~dp0的意义
  9. Solr学习(2) Solr4.2.0+IK Analyzer 2012
  10. JAVA IO流结构图
  11. python第二篇博客,关于数据类型的详细讲解
  12. 20 个 Laravel Eloquent 必备的实用技巧
  13. springMVC 使用ajax 出现No serializer found for class异常
  14. css常用命名
  15. 长沙学院APP之校园模块设计
  16. 常见的js dom操作
  17. 架构(一)JDK安装
  18. Leetcode 26. Remove Duplicates from Sorted Array (easy)
  19. GPIO实验
  20. [转]状态压缩dp(状压dp)

热门文章

  1. POJ-1159 Palindrome---变成回文串的最小代价
  2. jQuery插件的使用和写法
  3. ES6学习(三):数组的扩展
  4. discuz 被入侵后,最可能被修改的文件
  5. Python的静态方法和类方法
  6. Spring Cloud 升级最新 Finchley 版本,踩坑指南!
  7. mysql架构和历史
  8. java实现 zip解压缩
  9. Oracle_11g中解决被锁定的scott用户的方法
  10. php-5.6.26源代码 - 扩展模块的加载、注册