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)