import time #python中最基本的时间模块
time.time() #时间戳 (1970年1月1日00:00:00后通过的浮点秒数)
time.localtime(time.time()) #时间元组
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=38, tm_sec=59, tm_wday=2, tm_yday=361, tm_isdst=0)
#返回的元组的内容:
#索引值(index) 属性(attribute) 值(value)
#0 tm_year(年) 例如:2016
#1 tm_mon(月) 1~12
#2 tm_mday(日) 1~31
#3 tm_hour(时) 0~23
#4 tm_min(分) 0~59
#5 tm_sec(秒) 0~60
#6 tm_wday(星期几) 0~6(0表明星期一)
#7 tm_yday(一年中的第几天) 1~366
#8 tm_isdst(是否为夏令时) 0,1,-1(-1表明夏令时)
格式化日期python
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 当前时区的名称
%% %号自己
time模块,经常使用内置函数json
#time.time( )
返回当前时间的时间戳(1970纪元后通过的浮点秒数)。
#time.localtime([secs])
接收时间辍(1970纪元后通过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是否是夏令时)。
#time.asctime([tupletime])
接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
#time.strftime(fmt[,tupletime])
接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。
#time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
根据fmt的格式,把一个时间字符串,解析为时间元组。
#time.mktime(tupletime)
接受时间元组并返回时间辍(1970纪元后通过的浮点秒数)。
#time.sleep(secs)
推迟调用线程的运行,secs指秒数
获取日历函数
import calendar
cal = calendar.month(2018, 1)
print("如下输出2018年1月份的日历:")
print(cal)
JSON全称是(JavaScript Object Notation)是一种轻量级的数据格式,通常用于先后台,数据的交互。
导入 import json
print(json.__all__)
经常使用的方法:dumps、loads、dump、load
在使用以前 咱们要了解两个名字 序列化和反序列化
序列化: 把一个Python对象转化成json字符串
反序列化: 把json字符串转化成python
python对象 | json对象 |
---|---|
dict | object |
list, tuple | array |
str | string |
int, float | number |
None | null |
True/False | true/fase |
装饰器(deco):
装饰函数的参数是被装饰的函数对象,返回原函数对象装饰器本质上是一个Python函数,它可让其余函数在不须要作任何代码变更的前提下增长额外功能,装饰器的返回值也是一个函数对象
归纳的讲,装饰器的做用就是为已经存在的对象添加额外的功能。
@property
装饰过的函数返回的再也不是一个函数,而是一个property对象
装饰事后的方法再也不是可调用的对象,能够看作数据属性直接访问。
@staticmethod #(静态方法)
把没有参数的函数装饰事后变成可被实例调用的函数,
函数定义时是没有参数的,能够不接收参数
@classmethod (类方法)
把装饰过的方法变成一个classmethod类对象,既能能被类调用又能被实例调用。
注意参数是cls表明这个类自己。而是用实例的方法只能被实例调用。
通常来讲,要使用某个类的方法,须要先实例化一个对象再调用方法。
而使用@staticmethod或@classmethod,就能够不须要实例化,直接类名.方法名()来调用。
做业练习spa
#2. 写一个login函数 而后写一个装饰器,模拟登陆过程:让程序延迟3秒
# 在延迟过程当中输出正在验证
"""
def login():
print('登陆成功')
"""线程
#/usr/bin/env python
#coding:utf-8code
import time
def classmethod(func):
def login():
print('正在验证,请稍候!')
time.sleep(3)
result = func()
return result
return login对象
@classmethod
def f1():
print('登录成功')索引
f1()ip
#3. 用time模块的方法,把这种格式时间的字符串 '2011-11-11'
#转成这种 时间格式:'2011/11/11'utf-8
import times = '2011-11-11't = time.strftime('%Y/%m/%d',time.strptime(s,'%Y-%m-%d'))print(t)