python3發布時間
① python中時間如何表示
Python中有3種不同的時間表示法
1.時間戳 timestamp 是從1970年1月1日0時0分0秒開始的秒數
2.struct_time 包含9個元素的tuple
3.format time 已經格式化好便於閱讀的時間
使用時間需要使用time模塊
import time引入time模塊
time.time()方法獲取當前的時間,以timestamp的形式
>>> time.time()
1576372527.424447
time.localtime()方法:以struct_time的形式獲取當前的當地時間
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=14,
tm_hour=20, tm_min=15, tm_sec=49, tm_wday=5, tm_yday=348, tm_isdst=0)
time.gmtime()方法:以struct_time的形式獲取當前的格林尼治時間
從struct_time中獲取具體的年月日:
ctime.tm_year ctime.tm_mon .....
ttm_tm_isdst = 1來告知mktime()現在處於夏令時,明確使用ttm.tm_isdst = 0來告知未處於夏令時
不同時間表示法的轉換
struct_time轉timestamp: time.mktime(<struct_time>)
timestamp轉struct_time: time.localtime(time.time())
② 兩個python版本,怎麼確定哪個是在用的
很多初學者剛開始學python的時候,一定都遇到過這個問題,python的世界有2個版本,python2 和 python3 ,而且有些語法還不兼容.怎麼辦~~到底應該選擇哪個版本來開發呢?好,今天我們就來聊聊這個話題.
1.Python2和Python3的歷史背景
Python語言是在20世紀90年代誕生的,算算到現在已經是25歲的大叔級的語言了(跟它同一個時代的還有一個鼎鼎大名的java是在1995發行的, 紅了幾十年).
但是Python真正成名比java晚了很多年,其實也主要是應用領域的時代變遷.(猜測為啥,對了大數據的出現)
Python2是Python裡面一個非常重要的版本,最早的版本是從2001的時候開始的,特別是從2006年開始py2.5的發布,python的功能逐漸強大起來,慢慢開始穩定下來,並且差不多1-2年左右遞增一個版本,在08年左右開始慢慢的火起來了.
而Python3最早是從2008開始發布,但是py3.0的版本非常不穩定,所以社區更新的很快,差不多幾個月就更新一次。所以一開始的時候並沒有很多人用,只到2014春暖花開的時候python3.4 deliver了才開始慢慢穩定下來.
下面我們看一個數據,這是Python社區聯和一些網站在2014做的一個調查,關於Python2/3,部分的結果如下:
1).97.51%用戶還在寫Python2的代碼
2).60%的用戶寫Python3的代碼
3).78.09%的用戶更多地寫Python2代碼
4).77.09%的用戶認可Python3
目前有一些linux里的操作系統已經默認使用Python3:
1).Arch Linux (輕量級的Linux操作系統)
2).Ubuntu 16.04 (一個桌面應用為主的Linux操作系統)
3).Fedora(Redhat桌面版本的延續)
2.Python2和Python3的主要區別:
目前最新的數據是,Python有兩個版本:一個是2.7.12版,一個是3.5.12版.
那麼Python2運行的好好的,為啥突然要出個Python3呢,其實是為了解決Python2裡面一些歷史問題
第一個是字元串的問題:
Python 2 中文本和二進制數據是一個爛攤子,Python中的str 是代表二進制數據還是文本數據是有二義性,文字既能代表文本數據又能代表二進制數據這很麻煩,此類錯誤發生的時候,我們很難意識到。
第二個是對Unicode的支持
由於python是在1991年2月開源發布,這意味著它早於在1991年10月發布的第一版 Unicode 標准。在接下來幾年中,晚於 Unicode 標准出現的語言都選擇在支持 Unicode 編碼的基礎上實現自己的 str 類型,這讓 Python 2 處於尷尬的境地。
目前是一個python2/3共存的時代,這兩個版本是不兼容的。
python2現在只是做bug的修復,新硬體和操作系統兼容的相關維護工作。不會再有新的功能加入,python2隻支持到2020年.
現在Python正在朝著3版本進化,在進化過程中,大量的針對2.x版本的代碼要修改後才能運行,所以目前有許多第三方庫還暫時無法在3.x上使用。
不過可以暢想一下,也許再過幾年情況就會好很多,畢竟全世界有很多優秀的程序員正在把一些庫從Py2往Py3上遷移.
3.選擇還是要根據自己的需求
若是企業的開發,要滿足工作的需求,尤其是依賴的軟體只能運行在Python2下,首選Python2.比如你的開發需要依賴大量的第三方的庫(因為學Python非常大的一個原因就是因為它有成千上萬的第三方包),像大量的數據分析,科學計算,還是選Python2吧.
如果你是自己學習,研究的話,願意擁抱變化,那麼建議學Python3,因為它是未來的方向.
結論:
編程其實主要是對編程思想的理解和經驗的積累,千萬不要因為糾結學Py2還是Py3而浪費大量時間。
Py2和Py3裡面的思想基本是相通的,招式是類似的.當你熟悉Python到一定的程序的時候,會Py2的人學Py3隻需要很短的時間。
所以不要再糾結細枝末節的語法差異,而耽誤了寶貴的學習時間
③ python3和python2差別為什麼那麼大
python2和python3的區別
如果你是一個初學者,或者你以前接觸過其他的編程語言,你可能不知道,在開始學習python的時候都會遇到一個比較讓人很頭疼的問題:版本問題!!是學習python2 還是學習 python3 ?這是非常讓人糾結的!
搜索一下便會發現python3 和 python2 是不兼容的,而且差異比較大,到底學習哪個版本呢?下面就來為大家分析一下:
其實python是linux上最常用的軟體之一,但是linux目前的版本大部分還是使用python2的,而且,在linux上依賴python2的程序更多一些,所以 Python3 要代替 python2 成為主流還需要幾年的時間。
當初設計 Python3 的目的是沒有代碼兼容的包袱的情況下改進 Python,但個人認為改進得還不夠大刀闊斧,沒有徹底改進一些bug,還有不少的 wart 錯過了改進機會,因此造成的語法不兼容的地方也沒最初設想的多。
人們幾年摸索慢慢下來,大部分的情況下可以直接寫 2/3 兼容的代碼,也有 six 這類的兼容層可用。
所以先學 Python2 還是 Python3 都不是問題,或者說都是問題。
目前現狀是實際應用中大部分暫不考慮 Python3,有的時候注意寫兼容 2/3 的代碼。用 Python2 為主的寫新代碼時要考慮以後遷移到 Python3 的可能性。
無
論學 Python2 還是 Python3,都需要注意另外一邊的不同點:所幸就是這些不同點很容易掌握,只有一個 unicode encoding
對較多人造成困擾(同時也是很多 web 相關庫移植的主要障礙,3.3 重新支持 u'',情況大大改善了)學習python2 還是
python3 、使用python2 還是 python3 需要看具體情況而定.
所以我建議:
1. 如果是你在企業中,需要用到python而學習python的話,那就要看企業的應用python的版本進行學習;
2. 如果想要更多的成熟解決方案,最少的bug,最穩定的應用那就用python2 ;
3. 如果你是在讀大學的學生,那我建議你學習python3,等到畢業的時候或許python已經成為了主流。
④ 如何將日期傳參給python
怎麼傳日期參數
怎麼傳日期參數_重溫JavaScript(lesson21):日期和時間—Date
白夜月汐
原創
關注
0點贊·685人閱讀
上一次我們一起重溫了ES6新引入的兩個數據結構:map和set。這一次我們要來重溫一下大部分實際應用都會涉及的、用於處理日期和時間的Date。Date( )是用於創建Date對象的構造器函數,但是JS中Date對象並不是這門語言的最佳特性之一,這個內置對象的功能有限,所以我們也會介紹一下Moment.js。
1.Date對象基本介紹
Date()對象的構造函數可以傳遞以下幾種參數:
(1)無參數
(2)一個用於表現日期的字元串
(3)分開傳遞的日、月、時間等值
(4)一個timestamp值(timestamp值是指UNIX時間,是UNIX或者類UNIX系統使用的時間表示方式,是從協調世界時(UTC Coordinated Universal Time)1970年1月1日0時0分0秒起至現在的總秒數)
1.1 無參數
下面我們通過代碼看一下Date( )使用的例子:
let d1 = new Date() //當前時間
console.log(d1)
// Sun Oct 25 2020 07:47:36 GMT+0800 (中國標准時間)
復制
控制台顯示了Date對象的toString()的結果。
1.2 表示日期的字元串
接下來我們看一下一些用字元串初始化Date對象的例子:
let d2 = new Date('2020 10 25')
console.log(d2)
//Sun Oct 25 2020 00:00:00 GMT+0800 (中國標准時間)
let d3 = new Date('10 25 2020')
console.log(d3)
//Sun Oct 25 2020 00:00:00 GMT+0800 (中國標准時間)
復制
1.3 傳年月日等時間值
Date構造器也可以接受不同格式的字元串日期輸入表示法,但是如果要定義一個精確的日期,只是將用戶輸入直接給Date構造器時不夠可靠的,更好的選擇是向Date()構造器傳一些具體的數值,其中包括:
(1)年
(2)月(從0到11)
(3)日(從1到31)
(4)時(從0到23)
(5)分(從0到59)
(6)秒(從0到59)
(7)毫秒(從0到999)
下面看一下具體的例子:
let d4 = new Date(2015,0,1,17,5,3,120);
console.log(d4)
//Thu Jan 01 2015 17:05:03 GMT+0800