4000字 Python 必讀指南
你好,我是zhenguo
這是Python10天入門闖關Day2的文字版,全文4000字。
結合我錄制的視頻操作學習,效果最佳。其中最后一個項目的完整代碼放到文章最后,希望幫助到你,關注我的視頻號+給視頻點個贊:
Python入坑前必知10件事
最近1周,權威排名統(tǒng)計網站IEEE Spectrum ,公布編程語言最新排名:Python 不管在就業(yè)市場,未來發(fā)展趨勢,開源社區(qū)等多個排名中全部霸榜,這個消息還是挺鼓舞人心。

會用Python,已經成為越來越多開發(fā)者和程序員的共識。
下面我們進入Python 10天入門闖關的Day2,介紹:Python入坑前必知10件事
包括:
1 Python解釋型 2 Python 特點 3 Python之禪 4 Python 包管理 5 Python虛擬環(huán)境 6 Python下載安裝 7 第一行Python代碼 8 集成開發(fā)環(huán)境介紹 9 代碼調試 10 第一個Python項目
這個視頻對于想入門Python的朋友非常有用,可以先收藏一下。
1 Python解釋型
python是一門解釋型語言。
源代碼在編譯器編譯成字節(jié)碼(PyCodeObject)放在內存中,最常用解釋器是CPython,它負責一條一條的解釋成機器語言給計算機來執(zhí)行。

編譯過某些Python模塊后,會看到目錄中有pyc文件,實際它是內存中PyCodeObject緩存到pyc文件后的結果。
2 Python 特點
Python語言簡潔明了,實現(xiàn)同一功能代碼量更少;
Python也是面向對象的,與其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現(xiàn)面向對象編程;

同時跨平臺可移植性好;

除了200多個自帶的內置模塊外還有豐富的第三方庫。
3 Python之禪
Python之禪 by Tim Peters
優(yōu)美勝于丑陋(Python 以編寫優(yōu)美的代碼為目標)
明了勝于晦澀(優(yōu)美的代碼應當是明了的,命名規(guī)范,風格相似)
簡潔勝于復雜(優(yōu)美的代碼應當是簡潔的,不要有復雜的內部實現(xiàn))
復雜勝于凌亂(如果復雜不可避免,那代碼間也不能有難懂的關系,要保持接口簡潔)
扁平勝于嵌套(優(yōu)美的代碼應當是扁平的,不能有太多的嵌套)
間隔勝于緊湊(優(yōu)美的代碼有適當?shù)拈g隔,不要奢望一行代碼解決問題)
可讀性很重要(優(yōu)美的代碼是可讀的)
即便假借特例的實用性之名,也不可違背這些規(guī)則(這些規(guī)則至高無上)
不要包容所有錯誤,除非你確定需要這樣做(精準地捕獲異常,不寫 except:pass 風格的代碼)
當存在多種可能,不要嘗試去猜測
而是盡量找一種,最好是唯一一種明顯的解決方案(如果不確定,就用窮舉法)
雖然這并不容易,因為你不是 Python 之父(這里的 Dutch 是指 Guido )
做也許好過不做,但不假思索就動手還不如不做(動手之前要細思量)
如果你無法向人描述你的方案,那肯定不是一個好方案;反之亦然(方案測評標準)
命名空間是一種絕妙的理念,我們應當多加利用(倡導與號召)
4 包管理
Python最吸引人地方之一就是擁有豐富的第三方包,因此知道最常用的包管理工具就是必須的。常用的包管理工具 pip 和 conda,pip 是官方的管理工具,conda 是anaconda的,conda不僅能安裝包還能做虛擬環(huán)境管理,兩者的區(qū)別如下:

5 虛擬環(huán)境
同時裝了Python3和Python2,怎么辦?直接卸掉python2,除非你有線上項目還在使用python.
如果不同項目需要不同python版本,該怎么?需要知道虛擬環(huán)境管理。
為什么會有虛擬環(huán)境?在實際項目開發(fā)中,項目A需要某個包1.0版本,項目B需要此庫2.0版本。如果沒有安裝虛擬環(huán)境,那么當你使用這兩個項目時,你就需要來回的卸載安裝, 這樣很容易給你的項目帶來莫名的錯誤。
怎么做虛擬環(huán)境管理,使用conda工具:

6 Python下載安裝
下載安裝Python最推薦的方法是使用 anaconda,這是一個套裝,包括很多最常用的包,還有IPython,Jupyter notebook這種最常用的開發(fā)利器。
(1). Anaconda的下載
可以從官網https://www.anaconda.com/download/下載Anaconda的安裝程序,在該頁面選擇你電腦所對應的系統(tǒng)(Windows、macOS or Linux)以及操作系統(tǒng)位數(shù)(64位 or 32位)
(2) Anaconda的安裝 ??
下載后的文件為.exe文件,雙擊該文件進入安裝界面,依次點擊Next –> I agree –> Next
在選擇安裝目錄界面,默認安裝路徑為C盤。如果想更改安裝路徑,先在想要安裝的目錄下新建Anaconda的文件夾,然后選擇該路徑。
(3) 然后點擊Next進入到Advanced Options界面。其中有兩個選項框,建議將第二個選項框(Add Anaconda to my PATH environment variable,默認為不選)選上。

7 第一行Python代碼
運行第一行Python代碼,直接啟動cmd,輸入Python,執(zhí)行hello world, 打印成功,表明安裝Python成功



8 集成開發(fā)環(huán)境介紹
集成開發(fā)環(huán)境是基于Python解釋器為了加速程序員的開發(fā)效率而打造的一個開發(fā)利器,使用它們100%提高我們的開發(fā)效率和代碼調試效率。
Python最常用的集成開發(fā)環(huán)境,pycharm, jupyter notebook, vscode,其中 jupyter notebook是交互式的,我們輸入一行,Alt+Enter 回車直接得到結果,所見即所得有時很有用。

9 代碼調試
在正式開始編程前,你應該首先學會調試,這是我10年編碼,7年工作的經驗總結。以pycharm調試為例:
在想要調試行打上斷點,點擊調試圖標,啟動調試,等運行到此行,按F8逐行調試,按F7進入函數(shù)內部:視頻大概在第4分鐘:
10 第一個Python項目
這是一個很有意思的Python案例,根據生日預測你星座,把它們敲一遍,找找編碼,做第一個Python項目的感覺。
使用pycharm新建一個項目,
首先點擊:New Project
輸入項目名稱
接下來,最好要展開,新建一個Python虛擬環(huán)境,推薦選擇conda,位置,Python版本,conda.exe默認即可,點擊create,這樣完成虛擬環(huán)境創(chuàng)建。
虛擬環(huán)境創(chuàng)建中
點擊first_project0,右鍵選擇 python文件,創(chuàng)建一個名為star0.py文件,恭喜你,完成創(chuàng)建你的第一個python模塊
直接復制下面代碼到這個模塊里
右鍵點擊 Run
完整過程見下面操作視頻,大概在第4分20秒:
啟動后,轉到底部交互區(qū)域,輸入你的生日,得到你的星座,可以試試女朋友的生日,查查她的星座,按下q退出應用程序,返回0代表程序運行無任何問題。
boundary_date = [20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22]
stars = ['摩羯座', '水瓶座', '雙魚座', '白羊座', '金牛座',
'雙子座', '巨蟹座', '獅子座', '處女座', '天秤座',
'天蝎座', '射手座', '摩羯座']
def get_star():
while True:
birthday = input("請輸入你的生日\n不包括年份(如01-01)\n輸入q退出:")
if birthday == 'q':
break
md = birthday.split('-')
if len(md) != 2:
print("輸入格式有誤,請重新輸入")
continue
month, day = md[0], md[1]
try:
month, day = int(month), int(day)
if (month < 0 or month > 12 or day < 0
or (month in [1, 3, 5, 7, 8, 10, 12] and day > 31)
or (month == 2 and day > 28)
or (month in [4, 6, 9, 11] and day > 30)):
print("月和日取值范圍有誤")
continue
if int(day) < boundary_date[month - 1]:
print('*' * 10 + '您的星座' + '*' * 10)
print(' ' * 10 + stars[month - 1])
print('*' * 27)
else:
print('*' * 10 + '您的星座' + '*' * 10)
print(' ' * 10 + stars[month])
print('*' * 27)
except Exception as e:
print("輸入格式有誤,必須為數(shù)字")
continue
if __name__ == "__main__":
get_star()
以上完整代碼,可以作為第一個Python小案例,希望入門闖關Day2能夠對你有用。
親愛的《Python與算法社區(qū)》讀者朋友們:
堅持技術分享非常不易,如果你看到這里,希望你能點贊或轉發(fā),你的每一次點贊或轉發(fā),都告訴我這次分享有價值。如果你還想繼續(xù)看到這個系列視頻,請點贊,這樣我更能堅持做好這個系列。
