到底是學Python2還是Python3?產生了很多的爭議!神級程序員解析
在 Python 3 出現之前,Python 在我眼里一直是一位穩重扎實的大叔,資歷深厚,語法簡單,功能強大,兼顧面向對象和函數式編程,庫包豐富程度讓其他語言轉過來的程序員瞠目結舌并喟嘆:人生苦短,要用 Python 啊……這種情況一直持續到 Python 3 的出現。如果你也是編程的學習者或者已經學會了的編程者!
「Python之禪」里講過,「找到一種或***的一種解決方案去解決問題」。文字既能代表文本數據又能代表二進制數據這很麻煩。一旦對象脫離我們的控制,就會讓人變得恐慌。有人說我們可以用 Unicode,但實際中人們并不會那么做,有事還會引發不必要的麻煩。比如在 Python 2 中,中文顯示是這樣的:
Python 是一門面向世界的語言,而不只是那些支持 ASCII 碼覆蓋的羅馬數字的語言。這是 Python 3 在處理文本時選擇使用 Unicode 的原因。
Python 3 的開發過程大致是這樣的:
除法運算
Python中的除法較其它語言顯得非常高端,有套很復雜的規則。Python中的除法有兩個運算符,/和//
首先來說/除法:
在python 2.x中/除法就跟我們熟悉的大多數語言,比如Java啊C啊差不多,整數相除的結果是一個整數,把小數部分完全忽略掉,浮點數除法會保留小數點的部分得到一個浮點數的結果。
在python 3.x中/除法不再這么做了,對于整數之間的相除,結果也會是浮點數。
不等運算符
Python 2.x中不等于有兩種寫法 != 和 <>
Python 3.x中去掉了<>, 只有!=一種寫法,還好,我從來沒有使用<>的習慣
那么該學 Python 2 還是 Python 3 呢?如果是五年前我推薦學習 Python 2,兩年前我推薦都要學都要掌握,事實上在 Mac 環境里用 homebrew 安裝和使用兩個版本的環境是非常方便的。時至今日,大量的庫已經開始普遍支持 Python 3 了,而且 Python 3 的特性已經遠遠不是解決 str 問題了,所以現在我會推薦你直接學習 Python 3。
所以人生苦短,我用Python3!