python字典時間日期


字典時間日期

學習完本篇,你將會深入掌握

  • 字典操作。
    1.如何新建一個字典
    2.如何正序以及反序訪問字典
    3.如何更新字典元素
    4.如何刪除字典
  • 日期時間操作
    1.如何打印一個2021-9-20 17:06:20 (參考當前時間)

字典操作

  • 字典是另一種可變容器模型,且可存儲任意類型對象。
  • 字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:
  • 鍵必須是唯一的,但值則不必。
dict1 = { 'abc': 456 }; 
dict2 = { 'abc': 123, 98.6: 37 };

  • 字典中值的訪問也很簡單,把相應的鍵放入的方括弧中即可訪問。
#!/usr/bin/python 
dict 1  = {‘voltage’: ’35.5v’,’ current’:’2A’,’ resistance’:’12 Ω’}
print "dict1[‘voltage ']: ", dict1[' voltage ']
 print "dict1[‘current ']: ", dict1[' current ']
print "dict1[‘resistance ']: ", dict1[' resistance ']
  • 字典數據跟新通過下標來跟新數據
#!/usr/bin/python 

dict 1  = {‘voltage’: ’35.5v’,’ current’:’2A’,’ resistance’:’12 Ω’}
print “dict 1 :”, dict 1 
dict1[‘voltage’] = ’36.4’
print “dict 1 :”, dict 1 
  • 字典刪除可以刪除單一元素,也可以清空字典
#!/usr/bin/python 
dict1  = {‘voltage’: ’35.5v’,’ current’:’2A’,’ resistance’:’12 Ω’}
print “dict1 :”, dict1 
del dict1 [voltage]
print “dict1 :”, dict1 
dict1.clear()
  • 除了上述幾種方法外,列表還可以進行拼接,迭代,重復,以及其他相關操作
Python表達式 結果 描述
len({‘key1’,’1’,’key2’,2}) 2 獲取列表的長度,及鍵的總數
str({‘key1’,’1’,’key2’,2}) {‘key1’,’1’,’key2’,2} 將值轉化為轉化為可適人讀的字符串,從可打印的字符串表示
函數 描述
Dirt.get(key) 返回字典中key所對應的值,不存在就返回None
dict.items() 從字典遍歷可遍歷的(鍵,值)的元組數組
dict.keys() 返回列表,列表由字典中所有的鍵值組成
dict.has_key(key) 判斷字典中存不存在鍵,存在返回True,不存在返回False

時間和日期操作

  • Python提供一個time和calender模塊,時間間隔是以秒為單位的浮點小數。每個時間戳都以1970年1月1日午夜進過的時間來表示。
# -*- coding:UTF-8 -*-
import time ;#引入時間模塊 
ticks = time.time()
print “time:%f” %ticks

時間元組

  • Python很多元組組裝起來的9組數字處理時間 ,其中struct_time元組就按照這個處理
序號 屬性 字段
0 tm_year 4個數年 2008
1 tm_mon 1到12
2 tm_mday 1到31
3 tm_hour 小時 0到23
4 tm_min 分鍾 0到59
5 tm_sec 0到61(60到61是閏秒)
6 tm_wday 一周的第幾天 0到6(0是周一)
7 tm_yday 一年的第幾天 1到366(儒略歷)
8 tm_isdst 夏令時 -1,0,1,-1是決定是否為夏令時的旗幟

獲取當前時間

  • 從返回浮點數的時間輟方式向時間元組轉換,只要將浮點數傳遞給如localtime之類的函數
#!/usr/bin/python 
# -*- coding: UTF-8 -*- 

import time 
localtime = time.localtime(time.time()) 
print "本地時間為 :", localtime 

獲取格式化時間

  • 根據需求選取各種格式,但是最簡單的獲取可讀的時間模式的函數是asctime():
#!/usr/bin/python 
# -*- coding: UTF-8 -*- 
import time 
localtime = time.asctime( time.localtime(time.time()) ) 
print "本地時間為 :", localtime 

打印信息:
本地時間為 : Thu Apr 7 10:05:21 2016 

格式化日期

* 使用 time 模塊的 strftime 方法來格式化日期 time.strftime(format[, t]) 
#!/usr/bin/python 
# -*- coding: UTF-8 -*- 
import time 
# 格式化成2016-03-20 11:45:39形式 
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 

# 格式化成Sat Mar 28 22:24:24 2016形式 
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()) 

# 將格式字符串轉換為時間戳 
a = "Sat Mar 28 22:24:24 2016" 
print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))

打印結果

2016-04-07 10:25:09 
Thu Apr 07 10:25:09 2016 
1459175064.0 

日期格式符號

  • python中日期格式化符號如下所示:
表達式 解釋
%y 兩位數的年份表示(00-99)
%Y 四位數的年份表示(000-9999)
%m 月份(01-12)
%d 月內中的一天(0-31)
%H 24小時制小時數(0-23)
%I 12小時制小時數
%M 分鍾數(00-59)
%S 秒(00-59)

獲取某月日歷

Calender模塊有很廣泛的方法用來處理年歷以及月歷

#!/usr/bin/python 
# -*- coding: UTF-8 -*- 
import calendar				
Cal = calendar.month(2021,9)			打印結果為:
print “以下輸出2017年4月份的日歷:“
print Cal 

時間模塊相關函數

  • Time模塊包含了以下內置函數,既有時間處理,也有轉換時間格式
函數 解釋
Time.asctime([tupletime]) 接受時間元組並返回一個可讀的形式“Thu Apr 06 14:45:34 2017”24個字符
time.clock() 用以浮點數計算的秒數返回當前的CPU時間,用來衡量不同的程序的耗時
time.ctime() 未給參數相當於time.asctime(),返回字符串
time.localtime([secs]) 返回的是當地時間元組
time.sleep(sec) 推遲調用線程的運行,sec指秒
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 根據fmt的格式把一個時間字符串解析為時間元組。
time.time() 返回當前時間的時間戳(1970紀元后經過的浮點秒數)

日歷模塊相關函數

  • calendar模塊都是日歷相關,模塊內包含以下內置函數
函數 解釋
Calendar.calendar(year,w=2,l=1,c=6) 返回一個多行字符串格式的year年年歷,3個月一行,間隔距離為c。 每日寬度間隔為w字符。每行長度為21* W+18+2* C。l是每星期行數。
Calendar.isleap(year) 是潤年返回True,否則返回False
Calendar.leapdays(y1,y2) 返回y1,y2之間的潤年總數
Calendar.month(year,month) year年返回month月的日歷
calendar.monthcalendar(year,month) 返回一個多存嵌套列表,每個子列表裝載一個星期的整數。

練習題

  • 1.修改稅后工資計算器程序 每次算完工資后 詢問是否繼續計算工資 輸入 y 或者 n 使之能重復計算工資!
  • 2.編寫一個某年第一天是星期幾的查詢器:程序輸出:XXXX年一月一日是 星期X
    提示:1900年一月一日是星期一
  • 3.李白無事街上走遇店加一倍見花喝一斗5遇花和店喝光壺中酒問原來壺中有多少酒?!
  • 4.猴子吃桃子問題:猴子第一天摘下N個桃子,當時就吃了一半,還不過癮,就又吃了一個。第二天又將剩下的桃子吃掉一半,又多吃了一個。以后每天都吃前一天剩下的一半零一個。到第10天在想吃的時候就剩一個桃子了,求第一天共摘下來多少個桃子?
  • 5.打印0-50以內所有能被7或8整除的數!
  • 6.打印一個4行5列的矩形!
  • 7.根據流程圖完成銀行取錢業務程序!
    圖1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM