Python數(shù)據(jù)類型詳解03

一. 列表(List)

先回顧下上一篇Python數(shù)據(jù)類型詳解01文章中介紹的列表的基礎(chǔ)知識(shí)

# List 列表
list1 = [12, 34, 3.14, 5.3, 'titan']
list2 = [10, 'jun']

# 1.完整列表
print(list1)

# 2.列表第一個(gè)元素
print(list1[0])

# 3.獲取第2-3個(gè)元素
print(list1[1:2])

# 4.獲取第三個(gè)到最后的所有元素
print(list1[2:])

# 5.獲取最后一個(gè)元素
print(list1[-1])

# 6.獲取倒數(shù)第二個(gè)元素
print(list1[-2])

# 7.獲取最后三個(gè)元素
print(list1[-3:-1])

# 8.合并列表
print(list1 + list2)

# 9.重復(fù)操作兩次
print(list2 * 2)

1.添加和刪除列表元素

對(duì)列表的數(shù)據(jù)項(xiàng)進(jìn)行修改或更新嚷堡,你也可以使用append()方法來添加列表項(xiàng)

list1 = []          ## 空列表
list1.append('Google')   ## 使用 append() 添加元素
list1.append('Baidu')
print(list1)

//輸出:
['Google', 'Baidu']

使用 del 語句來刪除列表的元素

del list1[1]

//輸出:
['Google']

2.列表腳本操作符

列表對(duì) + 和 星號(hào) 的操作符與字符串相似搀矫。+ 號(hào)用于組合列表腥泥,星號(hào) 號(hào)用于重復(fù)列表

# 1. 腳本操作符
list1 = [1, 2, 3]
# 元素個(gè)數(shù)
print(len(list1))
# 重復(fù)
list2 = [2] * 3
print(list2)
# 是否包含某元素
if (3 in list1):
    print('3在列表內(nèi)')
else:
    print('3不在列表內(nèi)')
# 遍歷列表
for x in list1 :
    print(x)
    
# 輸出結(jié)果:
3
[2, 2, 2]
3在列表內(nèi)
1
2
3

3. 列表函數(shù)&方法

下面將會(huì)列出在列表中常用的函數(shù)和方法

函數(shù)表達(dá)式 輸出結(jié)果 描述
len(list1) 3 列表元素個(gè)數(shù)
max([1, 2, 's']) s 返回列表元素的最大值
min([1, 2, 's']) 1 返回列表元素的最小值
list(('q', 1) ['q', 1] 將元組轉(zhuǎn)換為列表
list1.append(2) [1, 2, 3, 2] 在列表末尾添加新的對(duì)象
list1.count(2) 2 統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)
list1.index(3) 2 從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置
list1.insert(1, 'jun') [1, 'jun', 2, 3, 2] 將對(duì)象插入列表的指定位置
list1.remove(3) [1, 'jun', 2, 2] 移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)
list1.reverse() [2, 2, 'jun', 1] 對(duì)列表的元素進(jìn)行反向排列
list1.sort() [2, 2, 'jun', 1] 對(duì)原列表進(jìn)行排序, 如果指定參數(shù)躁愿,則使用比較函數(shù)指定的比較函數(shù)

extend()方法

用于在列表末尾一次性追加另一個(gè)序列(元組和列表)中的多個(gè)值(用新列表擴(kuò)展原來的列表)

list3 = [12, 'as', 45]
list4 = (23, 'ed')
list3.extend(list4)
print(list3)

//輸出:
[12, 'as', 45, 23, 'ed']

pop()方法

用于移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素)篙挽,并且返回該元素的值

list.pop(obj=list[-1])

//使用
list3 = [12, 'as', 45, 23, 'ed']
print(list3)
print(list3.pop())
print(list3)
print(list3.pop(2))
print(list3)

//輸出:
ed
[12, 'as', 45, 23]
45
[12, 'as', 23]

二. 元組

先回顧一下上篇文章介紹的元組的基礎(chǔ)知識(shí)

# 元組
tuple1 = (12, 34, 3.14, 5.3, 'titan')
tuple2 = (10, 'jun')

# 1.完整元組
print(tuple1)

# 2.元組一個(gè)元素
print(tuple1[0])

# 3.獲取第2-3個(gè)元素
print(tuple1[2:3])

# 4.獲取第三個(gè)到最后的所有元素
print(tuple1[2:])

# 5.獲取最后一個(gè)元素
print(tuple1[-1])

# 6.獲取倒數(shù)第二個(gè)元素
print(tuple1[-2])

# 7.獲取最后三個(gè)元素
print(tuple1[-3:-1])

# 8.合并元組
print(tuple1 + tuple2)

# 9.重復(fù)操作兩次
print(tuple2 * 2)

1. 元組運(yùn)算符

與列表的運(yùn)算符和操作類似, 如下:

# 計(jì)算元素個(gè)數(shù)
print(len((1, 2, 3)))
# 合并元組
tuple1 = (1, 2) + (4, 5)
print(tuple1)
# 重復(fù)
tuple2 = ('jun',) * 3
print(tuple2)
# 檢測是否包含某元素
if (2 in tuple1):
    print('2在該元組內(nèi)')
else:
    print('不在元組內(nèi)')
# 遍歷元組
for x in tuple1:
    print(x)

//輸出:
3
(1, 2, 4, 5)
('jun', 'jun', 'jun')
2在該元組內(nèi)
1
2
4
5

2. 元組內(nèi)置函數(shù)

tuple1 = (1, 2, 4, 5) 
# 元組中元素最大值
print(max(tuple1))
# 元組中元素最小值
print(min(tuple1))
# 列表轉(zhuǎn)換為元組
print(tuple(['a', 'd', 'f']))

//輸出:
5
1
('a', 'd', 'f')

三. 字典

先看看上文中介紹到的字典的相關(guān)基礎(chǔ)知識(shí), 需要注意的是: 鍵必須不可變刁标,所以可以用數(shù)字斯棒,字符串或元組充當(dāng)险污,所以用列表就不行

# 字典
dict1 = {'name': 'jun', 'age': 18, 'score': 90.98}
dict2 = {'name': 'titan'}

# 完整字典
print(dict2)

# 1.修改或添加字典元素
dict2['name'] = 'brother'
dict2['age'] = 20
dict2[3] = '完美'
dict2[0.9] = 0.9
print(dict2)

# 2.根據(jù)鍵值獲取value
print(dict1['score'])

# 3.獲取所有的鍵值
print(dict1.keys())

# 4.獲取所有的value值
print(dict1.values())

# 5.刪除字典元素
del dict1['name']
print(dict1)

# 6.清空字典所有條目
dict1.clear()
print(dict1)

# 7.刪除字典
dict3 = {2: 3}
del dict3
# 當(dāng)該數(shù)組唄刪除之后, 在調(diào)用會(huì)報(bào)錯(cuò)
# print(dict3)

1. 內(nèi)置函數(shù)

dic1 = {'name': 'titan', 'age':20}
# 計(jì)算字典元素個(gè)數(shù)娇跟,即鍵的總數(shù)
print(len(dic1))
# 字典(Dictionary) str() 函數(shù)將值轉(zhuǎn)化為適于人閱讀的形式春弥,以可打印的字符串表示
print(str(dic1))
# 返回輸入的變量類型,如果變量是字典就返回字典類型
print(type(dic1))

//輸出:
2
{'name': 'titan', 'age': 20}
<class 'dict'>

2. 內(nèi)置方法

copy()方法

  • copy()函數(shù)返回一個(gè)字典的淺復(fù)制
  • 直接賦值和 copy 的區(qū)別
dict1 =  {'user':'runoob','num':[1,2,3]}
 
dict2 = dict1          # 淺拷貝: 引用對(duì)象
dict3 = dict1.copy()   # 淺拷貝:深拷貝父對(duì)象(一級(jí)目錄)贾惦,子對(duì)象(二級(jí)目錄)不拷貝胸梆,還是引用
 
# 修改 data 數(shù)據(jù)
dict1['user']='root'
dict1['num'].remove(1)
 
# 輸出
print(dict1)
print(dict2)
print(dict3)


# 輸出結(jié)果
{'num': [2, 3], 'user': 'root'}
{'num': [2, 3], 'user': 'root'}
{'num': [2, 3], 'user': 'runoob'}

實(shí)例中 dict2 其實(shí)是 dict1 的引用(別名)敦捧,所以輸出結(jié)果都是一致的,dict3 父對(duì)象進(jìn)行了深拷貝碰镜,不會(huì)隨dict1 修改而修改兢卵,子對(duì)象是淺拷貝所以隨 dict1 的修改而修改

fromkeys()方法

  • fromkeys() 函數(shù)用于創(chuàng)建一個(gè)新字典,
  • 參數(shù)一: 以序列seq中元素做字典的鍵
  • 參數(shù)二: value為字典所有鍵對(duì)應(yīng)的初始值(可選參數(shù))
dict.fromkeys(seq[, value])

# 使用
dic2 = dict.fromkeys(['name', 'titan'])
print(dic2)
dic3 = dict.fromkeys(['name', 'titan'], 20)
print(dic3)

# 輸出:
{'name': None, 'titan': None}
{'name': 20, 'titan': 20}

get() 和 setdefault()方法

  • get() 函數(shù)返回指定鍵的值绪颖,如果值不在字典中返回默認(rèn)值
  • setdefault()get() 方法類似, 如果鍵不存在于字典中秽荤,將會(huì)添加鍵并將值設(shè)為默認(rèn)值(同事也會(huì)把鍵值對(duì)添加到字典中)
  • 參數(shù)一: 字典中要查找的鍵。
  • 參數(shù)二: 如果指定鍵的值不存在時(shí)柠横,返回該默認(rèn)值值(可選參數(shù))
dict.get(key, default=None)

# 使用
dic5 = {'name': 'titan', 'age':20}
print(dic5.get('name'))
print(dic5.get('Sex', 'man'))
print(dic5.setdefault('name'))
print(dic5.setdefault('Sex', 'man'))
print(dic5)

# 輸出結(jié)果:
titan
man
titan
man
{'name': 'titan', 'age': 20, 'Sex': 'man'}

update()方法

把字典的鍵/值對(duì)更新到另一個(gè)字典里(合并字典)

dict.update(dict2)

# 使用
dic6 = {'sex': 'new'}
dic5.update(dic6)
print(dic5)

# 輸出:
{'name': 'titan', 'age': 20, 'Sex': 'man', 'sex': 'new'}

pop() 和 popitem() 方法

  • pop(): 刪除字典給定鍵 key 所對(duì)應(yīng)的值窃款,返回值為被刪除的值。key值必須給出牍氛。 否則雁乡,返回default值
  • popitem(): 隨機(jī)返回并刪除字典中的一對(duì)鍵和值。
    如果字典已經(jīng)為空糜俗,卻調(diào)用了此方法踱稍,就報(bào)出KeyError異常
pop(key[,default])
popitem()

# 使用
print(dic5.pop('Sex'))
print(dic5)
print(dic5.popitem())
print(dic5)


# 輸出:
man
{'name': 'titan', 'age': 20, 'sex': 'new'}
('sex', 'new')
{'name': 'titan', 'age': 20}

其他方法

dic2 = {'name': 'titan', 'age':20}
# 判斷鍵是否存在于字典中, 在True, 不在False
print(dic2.__contains__('name'))

# 以列表返回可遍歷的(鍵, 值) 元組數(shù)組
print(dic2.items())

# 刪除字典內(nèi)所有元素
dic2.clear()
print(dic2)


# 輸出結(jié)果:
True
dict_items([('name', 'titan'), ('age', 20)])
{}

四. 日期和時(shí)間

  • Python 提供了一個(gè) timecalendar
  • 模塊可以用于格式化日期和時(shí)間。
  • 時(shí)間間隔是以秒為單位的浮點(diǎn)小數(shù)悠抹。
  • 每個(gè)時(shí)間戳都以自從1970年1月1日午夜(歷元)經(jīng)過了多長時(shí)間來表示
  • 在介紹時(shí)間之前, 先介紹一下什么時(shí)間元組
屬性 描述 取值
tm_year 4位數(shù)年 2018
tm_mon 1 到 12
tm_mday 1到31
tm_hour 小時(shí) 0 到 23
tm_min 分鐘 0 到 59
tm_sec 0 到 61 (60或61 是閏秒)
tm_wday 禮拜幾 0到6 (0是周一)
tm_yday 一年的第幾日 1 到 366(儒略歷)
tm_isdst 夏令時(shí) -1, 0, 1, -1是決定是否為夏令時(shí)的旗幟

獲取時(shí)間的簡單示例

# 日期和時(shí)間
import time

# 當(dāng)前時(shí)間戳
ticks = time.time()
print(ticks)
# 本地時(shí)間
localTime = time.localtime()
print(localTime)
# 格式化時(shí)間
print(time.asctime(localTime))

# 輸出結(jié)果:
1524051644.320941
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=18, tm_hour=19, tm_min=40, tm_sec=44, tm_wday=2, tm_yday=108, tm_isdst=0)
Wed Apr 18 19:40:44 2018

1.格式化日期

先看幾個(gè)簡單示例

# 1.格式化日期
# 格式化成 2018-04-18 19:49:44 形式
newDate1 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(newDate1)
# 格式化成 Wed Apr 18 19:50:53 2018 形式
newDate2 = time.strftime('%a %b %d %H:%M:%S %Y', time.localtime())
print(newDate2)
# 將時(shí)間字符串轉(zhuǎn)化為時(shí)間戳
timeNum = time.mktime(time.strptime(newDate2, "%a %b %d %H:%M:%S %Y"))
print(timeNum)

# 輸出結(jié)果:
2018-04-18 19:52:21
Wed Apr 18 19:52:21 2018
1524052341.0
  • 這里介紹下上面用到的相關(guān)Python中時(shí)間和日期相關(guān)的格式化符號(hào)
    • %y: 兩位數(shù)的年份表示(00-99)
    • %Y: 四位數(shù)的年份表示(000-9999)
    • %m: 月份(01-12)
    • %d: 月內(nèi)中的一天(0-31)
    • %H: 24小時(shí)制小時(shí)數(shù)(0-23)
    • %I: 12小時(shí)制小時(shí)數(shù)(01-12)
    • %M: 分鐘數(shù)(00=59)
    • %S: 秒(00-59)
    • %a: 本地簡化星期名稱
    • %A: 本地完整星期名稱
    • %b: 本地簡化的月份名稱
    • %B: 本地完整的月份名稱
    • %c: 本地相應(yīng)的日期表示和時(shí)間表示
    • %j: 年內(nèi)的一天(001-366)
    • %p: 本地A.M.或P.M.的等價(jià)符
    • %U: 一年中的星期數(shù)(00-53)星期天為星期的開始
    • %w: 星期(0-6)珠月,星期天為星期的開始
    • %W: 一年中的星期數(shù)(00-53)星期一為星期的開始
    • %x: 本地相應(yīng)的日期表示
    • %X: 本地相應(yīng)的時(shí)間表示
    • %Z: 當(dāng)前時(shí)區(qū)的名稱
    • %%: %號(hào)本身

2. Time 模塊

Time 模塊包含了以下內(nèi)置函數(shù),既有時(shí)間處理相的楔敌,也有轉(zhuǎn)換時(shí)間格式的

Time模塊的屬性

  • timezone: 當(dāng)?shù)貢r(shí)區(qū)(未啟動(dòng)夏令時(shí))距離格林威治的偏移秒數(shù)(>0啤挎,美洲;<=0大部分歐洲,亞洲卵凑,非洲)
  • tzname: 包含一對(duì)根據(jù)情況的不同而不同的字符串庆聘,分別是帶夏令時(shí)的本地時(shí)區(qū)名稱,和不帶的
print(time.timezone)
print(time.tzname)

# 輸出結(jié)果
-28800
('CST', 'CST')

altzone()方法

返回格林威治西部的夏令時(shí)地區(qū)的偏移秒數(shù)勺卢。如果該地區(qū)在格林威治東部會(huì)返回負(fù)值(如西歐伙判,包括英國)。對(duì)夏令時(shí)啟用地區(qū)才能使用

print(time.altzone)

# 輸出結(jié)果:
-28800

asctime()方法

接受時(shí)間元組并返回一個(gè)可讀的形式為"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18時(shí)07分14秒)的24個(gè)字符的字符串

localTime = time.localtime()
print(localTime)
# 格式化時(shí)間
print(time.asctime(localTime))

# 輸出結(jié)果:
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=18, tm_hour=19, tm_min=40, tm_sec=44, tm_wday=2, tm_yday=108, tm_isdst=0)
Wed Apr 18 19:40:44 2018

ctime() 和 gmtime() 和 localtime()方法

  • ctime: 把一個(gè)時(shí)間戳(按秒計(jì)算的浮點(diǎn)數(shù))轉(zhuǎn)化為time.asctime()的形式黑忱。
  • gmtime: 將一個(gè)時(shí)間戳轉(zhuǎn)換為UTC時(shí)區(qū)(0時(shí)區(qū))的struct_timestruct_time是在time模塊中定義的表示時(shí)間的對(duì)象)
  • localtime: 類似gmtime宴抚,作用是格式化時(shí)間戳為本地的時(shí)間
  • 如果參數(shù)未給或者為None的時(shí)候,將會(huì)默認(rèn)time.time()為參數(shù)
time.ctime([ sec ])
time.gmtime([ sec ])
time.localtime([ sec ])

# 使用
print(time.ctime())
print(time.ctime(time.time() - 100))
print(time.gmtime())
print(time.gmtime(time.time() - 100))
print(time.localtime())
print(time.localtime(time.time() - 100))


# 輸出結(jié)果:
Wed Apr 18 20:18:19 2018
Wed Apr 18 20:16:39 2018
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=18, tm_hour=12, tm_min=25, tm_sec=44, tm_wday=2, tm_yday=108, tm_isdst=0)
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=18, tm_hour=12, tm_min=24, tm_sec=4, tm_wday=2, tm_yday=108, tm_isdst=0)
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=19, tm_hour=9, tm_min=45, tm_sec=19, tm_wday=3, tm_yday=109, tm_isdst=0)
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=19, tm_hour=9, tm_min=43, tm_sec=39, tm_wday=3, tm_yday=109, tm_isdst=0)

gmtime()方法

  • 接收struct_time對(duì)象作為參數(shù)甫煞,返回用秒數(shù)來表示時(shí)間的浮點(diǎn)數(shù)
  • 如果輸入的值不是一個(gè)合法的時(shí)間菇曲,將觸發(fā) OverflowErrorValueError
  • 參數(shù): 結(jié)構(gòu)化的時(shí)間或者完整的9位元組元素
time.mktime(t)

# 使用
t = (2018, 4, 19, 10, 10, 20, 2, 34, 0)
print(time.mktime(t))
print(time.mktime(time.localtime()))

# 輸出結(jié)果:
1524103820.0
1524104835.0

sleep()方法

推遲調(diào)用線程,可通過參數(shù)secs指秒數(shù)抚吠,表示進(jìn)程推遲的時(shí)間

time.sleep(t)

# 使用
print(time.ctime())
time.sleep(3)
print(time.ctime())

# 輸出結(jié)果:
Thu Apr 19 10:29:51 2018
Thu Apr 19 10:29:54 2018

strftime()方法

  • 接收以時(shí)間元組常潮,并返回以可讀字符串表示的當(dāng)?shù)貢r(shí)間,格式由參數(shù)format決定, 上面已經(jīng)簡單介紹過了
  • 參數(shù)format -- 格式字符串
  • 參數(shù)t -- 可選的參數(shù)t是一個(gè)struct_time對(duì)象
time.strftime(format[, t])

# 使用
newDate1 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(newDate1)

# 輸出結(jié)果:
2018-04-19 10:35:22

strptime()方法

  • 函數(shù)根據(jù)指定的格式把一個(gè)時(shí)間字符串解析為時(shí)間元組
  • 參數(shù)一: 時(shí)間字符串
  • 參數(shù)二: 格式化字符串
time.strptime(string[, format])

# 使用
structTime= time.strptime('20 Nov 2018', '%d %b %Y')
print(structTime)

# 輸出結(jié)果:
time.struct_time(tm_year=2018, tm_mon=11, tm_mday=20, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=324, tm_isdst=-1)

tzset()方法

根據(jù)環(huán)境變量TZ重新初始化時(shí)間相關(guān)設(shè)置, 標(biāo)準(zhǔn)TZ環(huán)境變量格式:

std offset [dst [offset [,start[/time], end[/time]]]]
  • stddst: 三個(gè)或者多個(gè)時(shí)間的縮寫字母楷力。傳遞給 time.tzname.
  • offset: 距UTC的偏移喊式,格式: [+|-]hh[:mm[:ss]] {h=0-23, m/s=0-59}孵户。
  • start[/time], end[/time]: DST 開始生效時(shí)的日期。格式為 m.w.d — 代表日期的月份垃帅、周數(shù)和日期延届。w=1 指月份中的第一周剪勿,而 w=5 指月份的最后一周贸诚。startend 可以是以下格式之一:
    • Jn: 儒略日 n (1 <= n <= 365)。閏年日(2月29)不計(jì)算在內(nèi)厕吉。
    • n: 儒略日 (0 <= n <= 365)酱固。 閏年日(2月29)計(jì)算在內(nèi)
    • Mm.n.d: 日期的月份、周數(shù)和日期头朱。w=1 指月份中的第一周运悲,而 w=5 指月份的最后一周。
    • time:(可選)DST 開始生效時(shí)的時(shí)間(24 小時(shí)制)项钮。默認(rèn)值為 02:00(指定時(shí)區(qū)的本地時(shí)間)
# 沒有返回值
time.tzset()

# 使用
import time
import os

os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0'
time.tzset()
print time.strftime('%X %x %Z')

os.environ['TZ'] = 'AEST-10AEDT-11,M10.5.0,M3.5.0'
time.tzset()
print time.strftime('%X %x %Z')

# 輸出結(jié)果為:
13:00:40 02/17/09 EST
05:00:40 02/18/09 AEDT

3. 日歷(Calendar)模塊

  • 此模塊的函數(shù)都是日歷相關(guān)的班眯,例如打印某月的字符月歷。
  • 星期一是默認(rèn)的每周第一天烁巫,星期天是默認(rèn)的最后一天署隘。
  • 介紹一下Calendar模塊的相關(guān)函數(shù)
# 返回當(dāng)前每周起始日期的設(shè)置, 默認(rèn)情況下,首次載入caendar模塊時(shí)返回0亚隙,即星期一
print(calendar.firstweekday())

# 是閏年返回True磁餐,否則為false
# calendar.isleap(year)
print(calendar.isleap(2016))

# 返回在Y1,Y2兩年之間的閏年總數(shù)
# calendar.leapdays(y1,y2)
print(calendar.leapdays(2015, 2021))

# 返回一個(gè)元組, 第一個(gè)元素是該月的第一天是星期幾(0-6, 0是星期日), 第二個(gè)元素是該月有幾天
# calendar.monthcalendar(year,month)
print(calendar.monthrange(2018, 4))

# 返回給定日期是星期幾(0-6, 0是星期一)
# calendar.weekday(year,month,day)
print(calendar.weekday(2018, 4, 19))

# 設(shè)置每周的起始日期
# calendar.setfirstweekday(weekday) 無返回值
calendar.setfirstweekday(3)
print(calendar.firstweekday())


# 輸出結(jié)果:
0
True
2
(6, 30)
3
3

calendarprcal方法

返回一個(gè)多行字符串格式的year年年歷阿弃,3個(gè)月一行诊霹,間隔距離為c。 每日寬度間隔為w字符渣淳。每行長度為21* W+18+2* C脾还。l是每星期行數(shù)

calendar.calendar(year,w=2,l=1,c=6)
calendar.prcal(year,w=2,l=1,c=6)

//使用
year18 = calendar.calendar(2018)
print(year18)

print(calendar.prcal(2018))

monthprmonth方法

返回一個(gè)多行字符串格式的yearmonth月日歷,兩行標(biāo)題入愧,一周一行荠呐。每日寬度間隔為w字符。每行的長度為7* w+6砂客。l是每星期的行數(shù)

calendar.month(year,month,w=2,l=1)
calendar.prmonth(year,month,w=2,l=1)

//使用
monthTime = calendar.month(2018, 4)
print(monthTime)

print(calendar.prmonth(2018, 4))

timegm方法

time.gmtime相反:接受一個(gè)時(shí)間元組形式泥张,返回該時(shí)刻的時(shí)間戳(1970紀(jì)元后經(jīng)過的浮點(diǎn)秒數(shù))

calendar.timegm(tupletime)

# 使用
print(calendar.timegm(time.localtime()))

# 輸出結(jié)果
1524150128

  • 到這里, Python相關(guān)的數(shù)據(jù)類型(數(shù)字, 字符串, 元組, 列表和字典)基本都介紹完畢了
  • Python中的常用的時(shí)間格式和時(shí)間相關(guān)的模塊(timecalendar)也都介紹完了
  • 文章中有些地方可能也不是很全面, 會(huì)繼續(xù)努力
  • 另外, 在Python中,其他處理日期和時(shí)間的模塊還有:datetime模塊dateutil模塊
  • 這兩個(gè)模塊這里也不再詳細(xì)介紹了, Python相關(guān)文章后期會(huì)持續(xù)更新......
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鞠值,一起剝皮案震驚了整個(gè)濱河市媚创,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌彤恶,老刑警劉巖钞钙,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鳄橘,死亡現(xiàn)場離奇詭異,居然都是意外死亡芒炼,警方通過查閱死者的電腦和手機(jī)瘫怜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來本刽,“玉大人鲸湃,你說我怎么就攤上這事∽釉ⅲ” “怎么了暗挑?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長斜友。 經(jīng)常有香客問我炸裆,道長,這世上最難降的妖魔是什么鲜屏? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任烹看,我火速辦了婚禮,結(jié)果婚禮上洛史,老公的妹妹穿的比我還像新娘惯殊。我一直安慰自己,他們只是感情好虹菲,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布靠胜。 她就那樣靜靜地躺著,像睡著了一般毕源。 火紅的嫁衣襯著肌膚如雪浪漠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天霎褐,我揣著相機(jī)與錄音址愿,去河邊找鬼。 笑死冻璃,一個(gè)胖子當(dāng)著我的面吹牛响谓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播省艳,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼娘纷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了跋炕?” 一聲冷哼從身側(cè)響起赖晶,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后遏插,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捂贿,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年胳嘲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了厂僧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡了牛,死狀恐怖颜屠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情白魂,我是刑警寧澤汽纤,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布上岗,位于F島的核電站福荸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏肴掷。R本人自食惡果不足惜敬锐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望呆瞻。 院中可真熱鬧台夺,春花似錦、人聲如沸痴脾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赞赖。三九已至滚朵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間前域,已是汗流浹背辕近。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留匿垄,地道東北人移宅。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像椿疗,于是被迫代替她去往敵國和親漏峰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 〇届榄、前言 本文共108張圖浅乔,流量黨請(qǐng)慎重! 歷時(shí)1個(gè)半月痒蓬,我把自己學(xué)習(xí)Python基礎(chǔ)知識(shí)的框架詳細(xì)梳理了一遍童擎。 ...
    Raxxie閱讀 18,934評(píng)論 17 410
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,934評(píng)論 6 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理滴劲,服務(wù)發(fā)現(xiàn),斷路器顾复,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • 轉(zhuǎn)劉百功老師文芯砸,有刪減萧芙。 一、自我覺察到底是什么假丧? 覺察:字典里的解釋是指察覺 發(fā)覺 看出來双揪。按此推導(dǎo)“自我...
    海燕dhy閱讀 263評(píng)論 0 0