日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python学习笔记:常用内建模块1

發布時間:2025/3/15 python 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习笔记:常用内建模块1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

最近在學習深度學習,已經跑出了幾個模型,但Pyhton的基礎不夠扎實,因此,開始補習Python了,大家都推薦廖雪峰的課程,因此,開始了學習,但光學有沒有用,還要和大家討論一下,因此,寫下這些帖子,廖雪峰的課程連接在這里:廖雪峰
Python的相關介紹,以及它的歷史故事和運行機制,可以參見這篇:python介紹
Python的安裝可以參見這篇:Python安裝
Python的運行模式以及輸入輸出可以參見這篇:Python IO
Python的基礎概念介紹,可以參見這篇:Python 基礎
Python字符串和編碼的介紹,可以參見這篇:Python字符串與編碼
Python基本數據結構:list和tuple介紹,可以參見這篇:Python list和tuple
Python控制語句介紹:ifelse,可以參見這篇:Python 條件判斷
Python控制語句介紹:循環實現,可以參見這篇:Python循環語句
Python數據結構:dict和set介紹Python數據結構dict和set
Python函數相關:Python函數
Python高階特性:Python高級特性
Python高階函數:Python高階函數
Python匿名函數:Python匿名函數
Python裝飾器:Python裝飾器
Python偏函數:Python偏函數
Python模塊:Python模塊
Python面向對象編程(1):Python面向對象
Python面向對象編程(2):Python面向對象(2)
Python面向對象編程(3):Python面向對象(3)
Python面向對象編程(4):Pyhton面向對象(4)
Python面向對象高級編程(上):Python面向對象高級編程(上)
Python面向對象高級編程(中上):Python面向對象高級編程(中上)
Python面向對象高級編程(中下):Python面向對象高級編程(中下)
Python面向對象高級編程(完):Python面向對象高級編程(完)
Python錯誤調試(起):Python調試:起
Python錯誤調試(承):Python調試:承
Python錯誤調試(轉):Python調試:轉
Python錯誤調試(合):python調試:合
Python文件IO編程:Python文件IO
Python文件IO編程2:Python文件IO2
Python文件IO編程3:PYthon文件IO3
Python進程和線程(起):Python進程和線程起
Python進程和線程(承):Python進程和線程承
Python進程和線程(轉):Python進程和線程轉
Python進程和線程(合):Python進程和線程合
Python正則表達式:Python正則表達式

目錄:

  • 前言
  • 目錄:
  • 常用內建模塊
    • Datetime
      • 獲取當前日期和時間
      • 獲取指定日期和時間
    • datetime轉換為timestamp
    • timestamp轉換為datetime
    • str轉換為datetime
    • datetime轉換為str
    • datetime加減
    • 本地時間轉換為UTC時間
    • 小結

常用內建模塊

Python之所以自稱“batteries included”,就是因為內置了許多非常有用的模塊,無需額外安裝和配置,即可直接使用。
本章將介紹一些常用的內建模塊

Datetime

datetime是Python處理日期和時間的標準庫。

獲取當前日期和時間

我們先看如何獲取當前日期和時間:

>>> from datetime import datetime >>> now = datetime.now() # 獲取當前datetime >>> print(now) 2015-05-18 16:28:07.198690 >>> print(type(now)) <class 'datetime.datetime'>

注意到datetime是模塊,datetime模塊還包含一個datetime類,通過from datetime import datetime導入的才是datetime這個類。

如果僅導入import datetime,則必須引用全名datetime.datetime。

datetime.now()返回當前日期和時間,其類型是datetime。

獲取指定日期和時間

要指定某個日期和時間,我們直接用參數構造一個datetime:

>>> from datetime import datetime >>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期時間創建datetime >>> print(dt) 2015-04-19 12:20:00

datetime轉換為timestamp

在計算機中,時間實際上是用數字表示的。我們把1970年1月1日 00:00:00 UTC+00:00時區的時刻稱為epoch time,記為0(1970年以前的時間timestamp為負數),當前時間就是相對于epoch time的秒數,稱為timestamp。

你可以認為:

timestamp = 0 = 1970-1-1 00:00:00 UTC+0:00對應的北京時間是:timestamp = 0 = 1970-1-1 08:00:00 UTC+8:00

可見timestamp的值與時區毫無關系,因為timestamp一旦確定,其UTC時間就確定了,轉換到任意時區的時間也是完全確定的,這就是為什么計算機存儲的當前時間是以timestamp表示的,因為全球各地的計算機在任意時刻的timestamp都是完全相同的(假定時間已校準)。

把一個datetime類型轉換為timestamp只需要簡單調用timestamp()方法:

>>> from datetime import datetime >>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期時間創建datetime >>> dt.timestamp() # 把datetime轉換為timestamp 1429417200.0

注意Python的timestamp是一個浮點數。如果有小數位,小數位表示毫秒數。

某些編程語言(如Java和JavaScript)的timestamp使用整數表示毫秒數,這種情況下只需要把timestamp除以1000就得到
Python的浮點表示方法。

timestamp轉換為datetime

要把timestamp轉換為datetime,使用datetime提供的fromtimestamp()方法:

>>> from datetime import datetime >>> t = 1429417200.0 >>> print(datetime.fromtimestamp(t)) 2015-04-19 12:20:00

注意到timestamp是一個浮點數,它沒有時區的概念,而datetime是有時區的。上述轉換是在timestamp和本地時間做轉換。

本地時間是指當前操作系統設定的時區。例如北京時區是東8區,則本地時間:

2015-04-19 12:20:00

實際上就是UTC+8:00時區的時間:

2015-04-19 12:20:00 UTC+8:00

而此刻的格林威治標準時間與北京時間差了8小時,也就是UTC+0:00時區的時間應該是:

2015-04-19 04:20:00 UTC+0:00

timestamp也可以直接被轉換到UTC標準時區的時間:

>>> from datetime import datetime >>> t = 1429417200.0 >>> print(datetime.fromtimestamp(t)) # 本地時間 2015-04-19 12:20:00 >>> print(datetime.utcfromtimestamp(t)) # UTC時間 2015-04-19 04:20:00

str轉換為datetime

很多時候,用戶輸入的日期和時間是字符串,要處理日期和時間,首先必須把str轉換為datetime。轉換方法是通過datetime.strptime()實現,需要一個日期和時間的格式化字符串:

>>> from datetime import datetime >>> cday = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S') >>> print(cday) 2015-06-01 18:19:59

字符串’%Y-%m-%d %H:%M:%S’規定了日期和時間部分的格式。詳細的說明請參考Python文檔

注意轉換后的datetime是沒有時區信息的。

datetime轉換為str

如果已經有了datetime對象,要把它格式化為字符串顯示給用戶,就需要轉換為str,轉換方法是通過strftime()實現的,同樣需要一個日期和時間的格式化字符串:

>>> from datetime import datetime >>> now = datetime.now() >>> print(now.strftime('%a, %b %d %H:%M')) Mon, May 05 16:28

datetime加減

對日期和時間進行加減實際上就是把datetime往后或往前計算,得到新的datetime。加減可以直接用+和-運算符,不過需要導入timedelta這個類:

>>> from datetime import datetime, timedelta >>> now = datetime.now() >>> now datetime.datetime(2015, 5, 18, 16, 57, 3, 540997) >>> now + timedelta(hours=10) datetime.datetime(2015, 5, 19, 2, 57, 3, 540997) >>> now - timedelta(days=1) datetime.datetime(2015, 5, 17, 16, 57, 3, 540997) >>> now + timedelta(days=2, hours=12) datetime.datetime(2015, 5, 21, 4, 57, 3, 540997)

可見,使用timedelta你可以很容易地算出前幾天和后幾天的時刻。

本地時間轉換為UTC時間

本地時間是指系統設定時區的時間,例如北京時間是UTC+8:00時區的時間,而UTC時間指UTC+0:00時區的時間。

一個datetime類型有一個時區屬性tzinfo,但是默認為None,所以無法區分這個datetime到底是哪個時區,除非強行給datetime設置一個時區:

>>> from datetime import datetime, timedelta, timezone >>> tz_utc_8 = timezone(timedelta(hours=8)) # 創建時區UTC+8:00 >>> now = datetime.now() >>> now datetime.datetime(2015, 5, 18, 17, 2, 10, 871012) >>> dt = now.replace(tzinfo=tz_utc_8) # 強制設置為UTC+8:00 >>> dt datetime.datetime(2015, 5, 18, 17, 2, 10, 871012, tzinfo=datetime.timezone(datetime.timedelta(0, 28800)))

如果系統時區恰好是UTC+8:00,那么上述代碼就是正確的,否則,不能強制設置為UTC+8:00時區。
時區轉換

我們可以先通過utcnow()拿到當前的UTC時間,再轉換為任意時區的時間:

# 拿到UTC時間,并強制設置時區為UTC+0:00: >>> utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc) >>> print(utc_dt) 2015-05-18 09:05:12.377316+00:00 # astimezone()將轉換時區為北京時間: >>> bj_dt = utc_dt.astimezone(timezone(timedelta(hours=8))) >>> print(bj_dt) 2015-05-18 17:05:12.377316+08:00 # astimezone()將轉換時區為東京時間: >>> tokyo_dt = utc_dt.astimezone(timezone(timedelta(hours=9))) >>> print(tokyo_dt) 2015-05-18 18:05:12.377316+09:00 # astimezone()將bj_dt轉換時區為東京時間: >>> tokyo_dt2 = bj_dt.astimezone(timezone(timedelta(hours=9))) >>> print(tokyo_dt2) 2015-05-18 18:05:12.377316+09:00

時區轉換的關鍵在于,拿到一個datetime時,要獲知其正確的時區,然后強制設置時區,作為基準時間。

利用帶時區的datetime,通過astimezone()方法,可以轉換到任意時區。

注:不是必須從UTC+0:00時區轉換到其他時區,任何帶時區的datetime都可以正確轉換,例如上述bj_dt到tokyo_dt的轉換。

小結

datetime表示的時間需要時區信息才能確定一個特定的時間,否則只能視為本地時間。
如果要存儲datetime,最佳方法是將其轉換為timestamp再存儲,因為timestamp的值與時區完全無關。

總結

以上是生活随笔為你收集整理的Python学习笔记:常用内建模块1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本午夜一区二区 | 丰满大乳奶做爰ⅹxx视频 | 2020亚洲男人天堂 | 免费黄色网址在线 | 免费成人高清在线视频 | 精品国产网 | 99性趣网| 伊人免费| 奇米影视第四色首页 | 999在线视频| 88av网站 | 红猫大本营在线观看的 | 婷婷成人综合 | 一二区精品 | 人乳喂奶hd无中字 | 中文字幕在线观看高清 | 人人爱人人射 | 美女搡bbb又爽又猛又黄www | 天天色天天干天天 | 在线欧美一区二区 | 久久这里只有精品首页 | 最新av免费观看 | 国产网站无遮挡 | 国模福利视频 | 午夜视频久久 | 伊人网亚洲 | 日本黄色的视频 | 欧美一区二区在线播放 | 中文字幕专区 | 51精产品一区一区三区 | 聚色av | 一级黄色视| 亚洲性影院 | 国产一区二区在线视频 | 驯服少爷漫画免费观看下拉式漫画 | 乱妇乱女熟妇熟女网站 | 超碰在线影院 | 国产无毛片 | wwwxxx日本 | 精品国产1区2区 | 性xxx欧美 | 精品人妻无码中文字幕18禁 | 日日操夜夜操天天操 | 337p日本欧洲亚洲大胆张筱雨 | 成人毛片视频网站 | 色婷婷综合久久久久中文字幕 | 亚洲乱码日产精品bd在线观看 | 国产69精品久久久久久 | 亚洲你我色 | 欧美少妇性生活 | 羞羞网站在线观看 | 可以直接在线观看的av | 丝袜制服中文字幕 | 国产麻豆一精品一男同 | 综合色在线观看 | 亚洲欧美强伦一区二区 | 日本精品视频一区二区三区 | 韩国av电影在线观看 | 午夜一区二区三区在线 | 国产乱人伦精品 | 午夜少妇视频 | 中文字幕制服丝袜 | 一区二区三区伦理片 | 色婷婷久久综合中文久久蜜桃av | 人人爽在线 | 日韩视频在线观看一区 | 精品熟女一区二区 | 日韩国产91 | 操亚洲美女 | 日本专区在线 | 污视频网站在线观看 | 内射一区二区 | 久草网视频 | 中文一区二区在线 | 中国女人内96xxxxx | 制服丝袜亚洲 | 免费在线看黄色片 | 美女扒开让男人桶爽 | 天天摸夜夜添狠狠添婷婷 | 国内精品久久久久久久 | 亚洲黄色片免费看 | 都市激情 亚洲 | 成人午夜网址 | www,色| 久久99热人妻偷产国产 | 亚洲资源站| 欧美日韩亚洲视频 | www.黄色片网站 | jizz日本大全 | 日本韩国欧美一区二区 | 亚洲一级视频在线观看 | 在线第一页 | 蜜美杏av| 中文字幕中文在线 | 嫩模一区 | 国产又好看的毛片 | 成人一区二区三区在线观看 | av软件在线观看 | 91色啪|