操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    學習Python 2還是Python 3?

    羅振宇在今年的跨年演講,《時間的朋友》中有個觀點,大意是說,人們都有一種受虐情節,有時候希望別人對他粗暴一點。為此,他還舉了兩個例子,分別是“喬布斯對待消費者的態度”和“和菜頭不尊重他的飲食需求”,末了還很享受的來一句:我愛死他了,對我再粗暴一點好不好!

    看到很多新同學在學習Python的過程中,猶豫學習Python 2還是學習Python 3而遲遲不行動,白白地浪費了大把時間,錯過了升職加薪的機會,我真心覺得非常遺憾。所以,我忍不住想對大家粗暴一次,給大家一個粗暴而又正確的答案:

    應該學習Python 2還是Python 3?都要學!

    這個答案可能很出乎意料,也很容易反駁,例如:

    • Python 3 才是Python的未來
    • Python 官方都建議指直接學習Python 3
    • Python 2 只維護到2020年

    真的是這樣嗎?作為一個在一線互聯網公司奮斗的工程師,也是一個多年的Python老手,大家不妨來看看我這么說的理由。

    為什么還要學習Python 2

    Python 2只維護到2020年不應該成為你拒絕Python 2的理由

    所有糾結學習Python 2還是Python 3的朋友都知道,按照Python官方的計劃,Python 2只支持到2020年。可能大家接觸Python的時間還不長,不知道Python官方曾經還說過,Python 2只支持到2015年(https://github.com/python/peps/blob/master/pep-0373.txt)。所以,大家可以看到,跳票不是中國人的特權,Python官方也是會跳票的。

    如果大家關注科技新聞的話,會注意到,就在前幾天,微軟剛宣布將在2020年對Win 7停止任何技術支持,之后即使遇到BUG和安全問題,他們也不會再修復,就像現在的XP一樣。但是,大家看看我們周圍的同事、朋友、親戚,到底是用Win 7的多還是用Win 10的多?這些用Win 7的人有吵著說我要升級Windows的嗎?用Win 10的人有吵著讓用Win 7的人升級嗎?

    但是,在Python這個圈子,就是有很多人吵著要讓別人升級Python 3。很多時候用戶并不關心自己用的是Python 2還是Python 3,只要能用就行。所以,用Python 2的人并沒有什么動力去升級到Python 3。

    如果你覺得,Python 3才是Python的未來,不希望接觸Python 2的項目。那么,問題來了,女神跟你說,晚上來我家給我修下電腦唄,但是我的電腦是Windows XP的,你是去還是不去?

    Python官方建議學習Python 3只是一種一廂情愿的行為

    我們來看一下Python 2和Python 3的下載統計數據(Python 2.7 still reigns supreme in pip installs):

    Python 2的使用量遠遠超過Python 3。而且,大家注意豎軸的單位,是指數!簡單換算一下就知道,僅從下載量來說,Python 2.7的下載量是總下載量的90%!所以,學習Python,想直接拋棄Python 2學習Python 3,幾乎是不可能的事情。

    上面的數據是全球范圍的統計數據,我們來看看中國互聯網的情況。為了寫這篇文章,我專門在同學群里面發了紅包,邀請了來自百度、阿里、騰訊、網易、美團、華為、招行、建行、eBay、美圖、Oracle等公司的一線技術專家,統計了各大公司使用Python的情況。

    統計數據如下:

    • 10% 使用 Python 3
    • 20% 既使用Python 2也使用Python 3,Python 2用的更多
    • 70% 使用Python 2

    統計數據基本與pypi的全球范圍的統計數據吻合。所以,如果你說,我一開始學的就是Python 3,Python 3也是Python的未來,我不想去了解和學習Python 2。那么,你可能要和大半個中國互聯網失之交臂了。或許你也不在乎,但是,如果有人拿錢砸你讓你維護Python 2的代碼呢?

    Python 2還會存在很長一段時間

    不知道大家有沒有想過,為什么Python官方極力讓大家使用Python 3,而Python 2依然處于統治地位呢?

    其實答案很簡單也很粗暴:因為絕大多數人,你給他什么,他就用什么。據我說知,盡管Python 3在2008年12月就已經發布了,但是,目前Python 3仍然不是任何操作系統的默認Python解釋器,這是Python 3使用不廣泛的主要原因。

    我們都知道,在任何一家公司,升級服務器的操作系統版本都是一個很慎重事情。所以,我們有理由相信,Python 2還會存在很長一段時間。很長是多長呢?至少比2020年還要長。

    這個世界并不是非黑即白的,Python也不是

    有了前面的數據做支撐,我們不是應該學習Python 2嗎,為什么Python 2和Python 3都要學呢?

    首先,這個世界并不是非黑即白的,Python也不是。在學習Python 2和學習Python 3中間,其實有一個很好的平衡,那就是同時兼容Python 2和Python 3。為了做到同時兼容Python 2和Python 3,需要深用到Python的__future__庫。__future__庫里面包含了不少從Python 3 backport 到Python 2的特性,充分使用__future__庫,可以很好的兼容Python 2和Python 3。

    其次,Python 2和Python 3確實有一些差異,但是,并沒有大家想象的那么大,Python 2和Python 3之間的差異不到Python語法的10%,我們可以快速地了解哪些Python 2里面的語法在Python 3中已經被棄用,在我們寫代碼的過程中,規避掉這一部分語法即可。在Python的最佳實踐中,Python 3里棄用的Python語法,在Python 2里面也不推薦使用,不然也不會被棄用了。如果你知道并堅持Python的最佳實踐,那么,對你來說,Python 2和Python 3的差異就更小了。

    最后,我們可以參考優秀的開源軟件的做法,如OpenStack,努力做到代碼同時兼容Python 2和Python 3(Python3 - OpenStack),也可以借助一些開軟的庫(如six)來同時兼容。如果能夠做到同時兼容Python 2和Python 3,我們的使用者將更廣泛,我們的代碼也將更有價值。

    拿Windows 來說,當 Windows 7 發布的時候(我就不說 Vista 了),很多人依然抱著 XP 不放,當你問他們為什么時,他們會一本正經地說,“新系統好卡啊”,或是“好多軟件都不兼容啊”,或是“改變很大啊,好不習慣啊”,甚至是“ XP 已經是很好的系統了,微軟出個新系統就是為了坑錢”。

    于是乎,春去春又來,送走了 Win 7 ,我們又迎來了 Win 8 ,但是這些人的想法依然沒有改變(我相信中國人中這種情況多一些)。如果這種人很多而且這種情況持續下去的話,最終的結局只會是微軟的狀況越來越差,最終人們毫無選擇,投降了Linux的懷抱(咦?怎么有種心花怒放的感覺)。

    當我在腦子里把上面的 Win XP 換成 Python 2 、Win 7 換成 Python 3 甚至 Python 4 時,不禁感到一陣恐懼,我差點就和其他人合謀把 Python 給害死!試想一下,多年以后,Ruby 、Go 等語言都有了很多新的特性,雖然最新的 Python 也十分優秀,但因為一些人,不愿改變,堅守著老版本,拋出一些可笑的理由,最終 Python 因為用戶習慣而沒落了, Guido 和整個 Python 社區的努力都被這些人的習慣給無視了。

    讓我們來看看這些可笑的理由(關于詳細的解釋,可以看一下知乎上的徐釀泉的答案,我在這簡單總結一下):

    什么?支持 Python 3 的庫太少?醒醒吧,這都6年了,最新都3.4.1了,現在還不支持 Python 3 的庫大多是常年無人維護的東西了。

    什么?新版本和舊版本兼容性差?放心吧,以后的版本會越來越不兼容,除非你打算死守 Python 2 一輩子。況且,為了新的特性,改變一下有那么難嗎?

    最后,那些還在堅守舊版本的人,你們的一堆理由和批評,真的不是在為自己的問題作辯護嗎?

    stop talking, just do it

    前面說了我對學習Python 2還是Python 3的一些觀點,希望能夠幫助大家少走彎路,另外,關于Python的版本問題,我這里還有一些良心建議:

    • 學習Python前,先了解在Python 3里面已經棄用的Python 2語法,對這些部分簡單帶過不要花太多時間
    • 使用Python 2,不要使用Python 2.7以前的版本
    • 使用Python 3,不要使用Python 3.4以前的版本
    • 多了解Python 2的__future__庫
    • 對同一份代碼,不要為Python 2和Python 3分別維護分支,努力在一套代碼中兼容Python 2和Python 3

    這篇文章詳細的說明了為什么要同時學習Python 2和Python 3,如何在Python 2和Python 3中找到一個平衡。但是,重要的不是糾結學習Python 3還是Python 2,而是“stop talking, just do it!”。

    Python2與Python3的具體區別

    除了引入import from future,了解一下兩者的區別也是很必要的

    print函數:(Python3中print為一個函數,必須用括號括起來;Python2中print為class)

    Python 2 的 print 聲明已經被 print() 函數取代了,這意味著我們必須包裝我們想打印在小括號中的對象。

    Python 2

    1

    2

    3

    4

    print 'Python', python_version()

    print 'Hello, World!'

    print('Hello, World!')

    print "text", ; print 'print more text on the same line'

    run result:

    Python 2.7.6

    Hello, World!

    Hello, World!

    text print more text on the same line

    Python 3

    1

    2

    3

    4

    print('Python', python_version())

    print('Hello, World!')

    print("some text,", end="")

    print(' print more text on the same line')

    run result:

    Python 3.4.1

    Hello, World!

    some text, print more text on the same line


    通過input()解析用戶的輸入:(Python3中input得到的為str;Python2的input的到的為int型,Python2的raw_input得到的為str類型)統一一下:Python3中用input,Python2中用row_input,都輸入為str

    幸運的是,在 Python 3 中已經解決了把用戶的輸入存儲為一個 str 對象的問題。為了避免在 Python 2 中的讀取非字符串類型的危險行為,我們不得不使用 raw_input() 代替。

    Python 2

    Python 2.7.6

    [GCC 4.0.1 (Apple Inc. build 5493)] on darwin

    Type “help”, “copyright”, “credits” or “license” for more information.

    >>> my_input=input('enter a number: ')
    enter a number: 123
     
    >>> type(my_input)
    <type 'int'>
     
    >>> my_input=raw_input('enter a number: ')
    enter a number: 123
     
    >>> type(my_input)
    <type 'str'>
    

    Python 3

    Python 3.4.1

    [GCC 4.2.1 (Apple Inc. build 5577)] on darwin

    Type “help”, “copyright”, “credits” or “license” for more information.

    >>> my_input=input('enter a number: ')
    enter a number: 123
     
    >>> type(my_input)
    <class 'str'>
    

    整除:(沒有太大影響)(Python3中/表示真除,%表示取余,//表示地板除(結果取整);Python2中/表示根據除數被除數小數點位得到結果,//同樣表示地板除)統一一下:Python3中/表示真除,%表示取余,//結果取整;Python2中帶上小數點/表示真除,%表示取余,//結果取整

    Python 2

    1

    2

    3

    4

    5

    print 'Python', python_version()

    print '3 / 2=', 3 / 2

    print '3 // 2=', 3 // 2

    print '3 / 2.0=', 3 / 2.0

    print '3 // 2.0=', 3 // 2.0

    run result:

    Python 2.7.6

    3 / 2=1

    3 // 2=1

    3 / 2.0=1.5

    3 // 2.0=1.0

    Python 3

    1

    2

    3

    4

    5

    print('Python', python_version())

    print('3 / 2=', 3 / 2)

    print('3 // 2=', 3 // 2)

    print('3 / 2.0=', 3 / 2.0)

    print('3 // 2.0=', 3 // 2.0)

    run result:

    Python 3.4.1

    3 / 2=1.5

    3 // 2=1

    3 / 2.0=1.5

    3 // 2.0=1.0


    xrange模塊:

    在 Python 3 中,range() 是像 xrange() 那樣實現以至于一個專門的 xrange() 函數都不再存在(在 Python 3 中xrange() 會拋出命名異常)。

    在 Python 2 中 xrange() 創建迭代對象的用法是非常流行的。比如: for 循環或者是列表/集合/字典推導式。

    這個表現十分像生成器(比如。“惰性求值”)。但是這個 xrange-iterable 是無窮的,意味著你可以無限遍歷。

    由于它的惰性求值,如果你不得僅僅不遍歷它一次,xrange() 函數 比 range() 更快(比如 for 循環)。盡管如此,對比迭代一次,不建議你重復迭代多次,因為生成器每次都從頭開始。



    python 2.4 與 python 3.0 的比較

    一、 print 從語句變為函數

    原: print 1, 2+3

    改為: print ( 1, 2+3 )

    二、range 與 xrange

    原 : range( 0, 4 ) 結果 是 列表 [0,1,2,3 ]

    改為:list( range(0,4) )

    原 : xrange( 0, 4 ) 適用于 for 循環的變量控制

    改為:range(0,4)

    三、字符串

    原: 字符串以 8-bit 字符串存儲

    改為: 字符串以 16-bit Unicode 字符串存儲

    四、try except 語句的變化

    原: try:

    ......

    except Exception, e :

    ......

    改為

    try:

    ......

    except Exception as e :

    ......

    五、打開文件

    原: file( ..... )

    或 open(.....)

    改為:

    只能用 open(.....)

    六、從鍵盤錄入一個字符串

    原: raw_input( "提示信息" )

    改為: input( "提示信息" )

    七、bytes 數據類型

    A bytes object is an immutable array. The items are 8-bit bytes, represented by integers in the range 0 <=x < 256.

    bytes 可以看成是“字節數組”對象,每個元素是 8-bit 的字節,取值范圍 0~255。

    由于在 python 3.0中字符串以 unicode 編碼存儲,當寫入二進制文件時,字符串無法直接寫入(或讀取),必須以某種方式的編碼為字節序列后,方可寫入。

    (一)字符串編碼(encode) 為 bytes

    例: s="張三abc12"

    b=s.encode( 編碼方式)

    # b 就是 bytes 類型的數據

    # 常用的編碼方式為 : "uft-16" , "utf-8", "gbk", "gb2312", "ascii" , "latin1" 等

    # 注 : 當字符串不能編碼為指定的“編碼方式”時,會引發異常

    (二) bytes 解碼(decode)為字符串

    s="張三abc12"

    b=s.encode( "gbk") # 字符串 s 編碼為 gbk 格式的字節序列

    s1=b.decode("gbk") # 將字節序列 b以gbk格式 解碼為字符串

    # 說明,當字節序列不能以指定的編碼格式解碼時會引發異常

    (三)使用方法舉例

    #coding=gbk

    f=open("c:\1234.txt", "wb")

    s="張三李四abcd1234"

    # -------------------------------

    # 在 python2.4 中我們可以這樣寫:

    # f.write( s )

    # 但在 python 3.0中會引發異常

    # -------------------------------

    b=s.encode("gbk")

    f.write( b )

    f.close()

    input("?")

    開學季換電腦,你選對了嗎?

    現代社會,電腦必不可少,生活辦公都需要,學生,尤其是在校大學生,打游戲,完成作業,甚至專業課必不可少,但是如何選一款真正適合自己的卻需要仔細斟酌。

    買電腦一部分是土豪不擔心資金,而且也有那個需要就找個懂的朋友,看一個不在乎價錢直接買,還有一部分大概就是我這樣,錢不多但還是想買個能說過去的,今天就給大家推薦幾個。

    我個人是比較喜歡游戲本的,雖然我的電腦上一個游戲沒有。因為游戲本的性價比相當高,但是同價位的本兒,那配置就相當勉強了。所以今天給大家介紹一下幾款游戲本

    先是國產打頭

    1、聯想拯救者720(榮譽勛章版)RMB: 5799~6399

    聯想拯救者720

    I5 7300HQ的處理器 GTX 1050ti 4G的顯卡,

    搭配8G的內存(可拓展至32G、雙內存槽)

    1T+128G的雙硬盤(機械+固態)組合,--固態硬盤支持PCI-e協議, 傳輸速度是普通固態的4倍以上---

    接口:Usb2.0 *1 usb3.0*2 ,Rj45(網線口)、Type-c、HDMI、耳機麥克風二合一,各一個

    3芯鋰離子電池,續航大約2到5小時左右

    正版win10系統且支持正版office家庭和學生版2016

    IPS屏幕分辨率1920×1080

    藍牙4.1

    參數可能大多剛開始接觸的小伙伴們不太理解,我認為

    其實大家可以注重處理器,顯卡,內存,硬盤的配置

    目前主流就是I5 的7代處理器,有人說你把人家I7 放

    哪了,其實呢對于目前市面的游戲 比如拳頭的英雄聯盟、暴雪的守望先鋒、steam的絕地求生。I5標壓加8G內存足矣,但是要看顯卡,1050ti畢竟只是中端顯卡,英雄聯盟、守望還可以,吃雞就有點勉強了,低畫質能湊合,要是要求高一點的話,GTX 1060 6G的顯卡,5G也可以,但好像是定制的,網吧專供,要看你買的那款電腦有沒有配,然后就是固態硬盤了,這東西很重要有了它,你電腦在正常使用下壽命擦汗不多增一倍,系統默認裝在固態硬盤里,整體提升電腦的流暢度,機械硬盤就不用多說,傳統的的硬盤,價格便宜儲存量大,但讀取慢 適合存儲音視頻等各種文件。Ok,說了這些,該回到正題了(以下所有對比不注重說明的都以拯救者720作模板)

    2、Dell靈越游匣5577 RMB:5299左右

    Dell靈越游匣5577

    優點:CPU什么的和720差不多,usb接口全是3.0的

    缺點:顯卡是1050的差了一點,固態是普通的sata硬盤,沒有office2016

    3、麥本本 (QRTECH)大麥5S RMB:5499左右

    麥本本 (QRTECH)大麥5S

    優點:八代低壓I5睿頻3.4Ghz性能超越睿頻3.5Ghz的7代標壓(實驗室數據)功耗卻小

    缺點:1050的顯卡,無office2016

    4、機械師游戲本(MACHENIKE) F117七代 RMB:6299左右

    優點:I7 處理器 256G的固態硬盤(但是普通的傳輸速度)

    缺點:1050顯卡

    5、機械革命(MECHREVO)深海泰坦X1 RMB:5999左右

    機械革命(MECHREVO)深海泰坦X1

    優點:I7處理器

    缺點:內存只能拓展至16G

    6、華碩(ASUS) 飛行堡壘四代FX63VD RMB:5499左右

    華碩(ASUS) 飛行堡壘四代FX63VD

    優點:只需拆卸一顆螺絲即可手動升級存儲

    缺點:1050的顯卡,無office2016

    7、還有兩個,配置和720一毛一樣,

    一個是微星(MSI)GL62M 7REX-1481CN但是稍貴,6099左右,

    微星(MSI)GL62M 7REX-1481CN

    一個是惠普(HP)暗影精靈2代Pro 比720便宜點,5799左右

    惠普(HP)暗影精靈2代Pro

    這些僅是我個人建議,為一部分資金有限但有需要的朋友盡力推薦最合適的,其實買電腦這東西呢,在滿足自己要求的情況下,配置還要留下一定的富裕,在你工作需求確定的情況下,配置越高他的壽命自然也長,所以,對于那些土豪,你們可以繞道了

    (圖片源自網絡如有侵權請聯系刪除)

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有