1. 這才是 Python 學習的正確起手姿勢,滾雪球學 Python,python入門教程
在部落格上,我寫了很多關於 Python 的文章,很多朋友可能覺得橡皮擦應該是一個 Python 開發人員或者一個技術開發人員,但很遺憾的告訴大家,橡皮擦恰好是很多公司中開發人員的對立面【產品經理】。但我是一個相當懂技術人的產品經理。
一、Python 初次接觸,Python 變數與基本運算
1.1 滾雪球學 Python 課程前置導語
從本篇部落格開始,我將真正的從 0 到 1,完完整整給你寫一套 Python 語言的教程,把如何快速學會 Python 技巧告訴你。
順便說一句,本套課程雖然是文字類專欄課程,但是它的價值就是培訓機構 2W 元的培訓課程,無非省略掉了機構老師上課給你吹其過去 NB 經歷的那些廢話
這套部落格命名為滾雪球學 Python,最終的目標寫到 100W 字,最後的最後它會形成一套視訊課的基礎課件指令碼,而橡皮擦很 “不要臉” 的將成為這套課程的聲優。
這套課程的目的就是把 Python 的學習成本從培訓機構的 2W-3W,從網際網路視訊的 6K~8K,拉到 300 元以內。
滾雪球學 Python,力求在知識面完整的程式上,用輕鬆的文風為大家獻上 Python 學習的盛宴。
因本系列文章非學院派,請摳知識點精準度的理論派技術流大佬口下留德,你不應該在我們小白的盛宴上浪費你的時間,去看官方手冊吧。
1.2 Python 語言簡介
Python 是一種程式語言,跟 JAVA、C#、C++、C 等程式語言無太大區別。任何程式語言都有優點,也存在不足,所有語言無優劣之分,用到對的場景下就是最棒的語言。
Python 屬於解釋型語言,或者叫做直譯型語言,這種語言的特點就是通過一個直譯器將程式一行行的執行,目前 Python 的直譯器是 CPython,C 語言寫的,效率還行。
這個知識點的擴充套件是存在編譯式的語言,例如 JAVA,C#,它們會將語言轉換成機器碼然後在執行,不過對於這個階段的你來說,這些不重要,先入門再說。
Python 是開放原始碼,世界上任何人都可以給它貢獻程式碼,也可以給它擴充套件模組,這些都是免費的。
1.2.1 Python 作者
Python 作者叫做 Guido van Rossum,在 1989 年為了打發時間設計出了 Python 語言,Python 名字是因為 Guido 喜歡的一個馬戲團叫做 Monty Python's Flying Circus ,所以取了 Python 這個名字,跟現在大家喜歡用蟒蛇表示 Python 語言沒啥毛線關係。
Python 語言相關資訊可以在 www.python.org 進行查閱。
1.2.2 Python 語言發展簡介
- 1989 年吉多(Guido van Rossum)發明 Python 語言
- 1991 年正式釋出
- 2000 年 Python2.0 釋出
- 2008 年 Python3.0 釋出
現在是 2020 年,你應該學習 Python3.X 版本。
1.2.3 Python 語言的前景
這個必須要說一說,Python 語言最近 2 年比較火,行業炒作大於實際落地應用,做為一門語言來說,沒有不能應用的領域,無非是好用難用。學會 Python 找工作是沒有任何問題的,而且更多時候,你學會一門程式語言,其它的語言就都差不多了,語言就像一個大家族一樣,你抄抄我,我抄抄你,最終大家的用法都差不多。
對於 Python 的前景,不能說講 Python 就一通誇,什麼都是好的。在國內,肯定沒有 JAVA 市場大,也沒有前端市場大,和最近 2 年的 PHP 市場貌似能掰掰手腕,學完能找到工作,使用的場景也不少,能借助大資料,人工智慧吹吹牛,拿個高工資,畢竟誰也沒說過 JAVA 不能做人工智慧的話。
Python 跨平臺,在 Linux 和 Mac 開發起來非常舒服,其他語言也一樣。在 Windows 上開發也沒有啥障礙,本系列文章後續都是在 Windows 上進行介紹的,畢竟 Windows 上能玩的遊戲最多。
1.3 Python 環境安裝
1.3.1 Python3.7.X 安裝
一門語言最難的就是安裝環境與開發工具了,入門的第一步就會擋住很多人,在學習之初簡單直接最好。
還有學習的時候,千萬不要選擇最新的 Python 版本,你碰到問題找答案都不好找,因此我們選擇 3.6 相關版本或者 3.7 相關版本即可。
開啟官方提供的下載地址,https://www.python.org/downloads/,看到英文不要慌,你能猜出來個大概。
下載不要急,先找到對的下載連結再說,找到下圖所示區域,看到 windows 在下載,如果沒有注意,下載錯了就很煩~
這裡留下一個小挑戰,做為一個想要學習 Python 的新人,把 Python 安裝到本地是最基本的一個小門檻了,加油,安裝過程所有的都保持預設即可,安裝完畢之後,在開始選單找到如下圖所示目錄即可。
如果你看到上述圖片內容,表示你的 Python 環境已經安裝完畢,電腦的基本操作沒有問題,後續就不用在對建立資料夾,建立檔案這些基本的操作在做要求了,如果這個地方碰到的難度,那建議學習一下電腦的基本使用。
上述圖片中,點選 IDLE
即可開啟終端進行 Python 程式碼的編寫,不過這裡如果你直接按照普通教材(誇自己寫的好,真棒)
編寫的內容就開始上手,那大概率你會倒在 Python 門口,畢竟按照它們說的那樣學習太枯燥無味了,誰說學 Python 必須從 Python Shell 開始的。
1.3.2 PyCharm 安裝
學習 Python 開發,開始就要接觸使用一款功能齊全的程式碼編輯器,這樣才能取得事半功倍的效果,這裡推薦給大家的是 PyCharm,亮點是有免費版,學習階段使用 Community
版本即可。
下載地址:https://www.jetbrains.com/pycharm/download/#section=windows,軟體不足 300M,非常容易下載,對於軟體的安裝依舊交給你自己完成,原因還是太簡單了。重要的步驟參照下述截圖即可。
重要點截圖
第一次啟動 PyCharm 的時候,選個配色方案,黑色編輯器
看著不容易累
啟動之後,它會叫你建立一個新的專案,之後的頁面如下圖所示,預設情況下,PyCharm 會匹配到你剛剛安裝的 Python 環境,會自動建立一個虛擬環境出來,這部分內容先不急,後續橡皮擦會為你解釋,現在需要做的就是保持預設就好了。
Location
表示的是目錄,選擇一個本地任意資料夾即可。
出現下圖等待一下即可。
載入完畢,最終效果如圖,所有的目錄結構如果都跟下圖一致,表示一個非常大的成功哦~
右側給我們也生成一個程式碼,就是上圖最下面的檔案main.py
,沒錯,python 檔案的字尾名一般為 .py
檔案,在右側程式碼空白處右鍵,選擇 Run
。
注意底部出現 Hi PyCharm
,恭喜,所有的安裝任務你都已經完成了。
安裝任何環境與開發工具簡單但是不普通,能完成表示拿到了一張門票,剩下的就是技術學習了。
建立檔案,在左側目錄上點選滑鼠右鍵,選擇 New
之後選擇 Python File
即可。
1.4 語言先學註釋
程式設計師最怕的是什麼,就是給程式寫註釋,比註釋更怕的是別人的程式碼不寫註釋,多麼有趣的邏輯。
如果想讓程式的可讀性變高,是離不開程式註釋的,在公司裡面,一個程式、一個專案、一個產品裡面包含成千上萬程式碼塊,如果不寫註釋,會被隊友噴的。
1.4.1 註釋符號
在 Python 中,使用 # 號表示單行註釋,也就是 # 號後面的內容,Python 直譯器(直譯器)會直接忽略,不予執行。
例如,上文建立好一個 Python 專案之後自動生成的程式碼中,包含了很多單行註釋。
# This is a sample Python script.
# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
def print_hi(name):
# Use a breakpoint in the code line below to debug your script.
print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint.
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
print_hi('PyCharm')
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
註釋符號可以放在程式碼上面,也可以放在程式碼右側,例如:
# 我是一行註釋
print("hello world") # 我也是一行註釋
1.4.2 假多行註釋 三個引號
如果想要進行多行註釋,你可以每行都用一個 # 號,也可以使用三個引號實現。例如下述程式碼:
"""
我是一大段註釋
我可以有多行
都是註釋
注意是英文的引號
"""
print("夢想橡皮擦")
由於 Python 語言特性,你使用三個單引號效果也是一樣的:
'''
我是一大段註釋
我可以有多行
都是註釋
注意我是單引號
'''
print("夢想橡皮擦")
關於三引號的使用,在後續講解字串的時候還會出現,此處理解為多行註釋即可。
1.5 認識變數
任何語言都需要從變數開始學起,變數最早接觸是初中學代數的時候,在程式中簡單理解就是儲存資料的一個東西。
新建一個檔案,名字隨意(起步階段,以認知為主,能把程式碼執行起來,看到效果就是大勝)。
例如,我今年 18 歲了。在 Python 中可以宣告一個變數 age
,讓其等於 18 即可。
age = 18
如果在加上小紅 20 歲了,那在程式中在新增一個變數 xiaohong_age
,讓其等於 20 即可。
age = 18
xiaohong_age = 20
這時可以配合上註釋,讓程式碼顯得更加清晰。
# 我的年紀
age = 18
# 小紅的年紀
xiaohong_age = 20
這樣子當這段程式碼寫完很久,我們通過註釋,能快速的知道每個變數在當年寫的時候是什麼意思,省的出現下述段子。
當初寫這段程式碼的時候,只有我和上帝知道是什麼意思,現在,只有上帝知道了。
Python 變數和其他語言略有不同,其他語言在使用變數時,需要提前宣告一下變數的資料型別,Python 不需要設定,它會依據等號右側的值自動設定變數型別,該內容可以極大的提高編碼速度,後面你將體驗到。
1.5.1 變數命名注意事項
變數命名在任何語言中都有注意事項,在 Python 中也不例外,命名原則如下:
- 必須由英文字母,
_
(下劃線)或中文(一般不這麼幹)開頭,儘量使用英文字母 - 變數名只能由英文字母,數字,
_
(下劃線)或中文漢字所構成 - 英文字母大小寫敏感,Age 與 age 是不同的變數名稱
- Python 內建的保留字和內建函式不能當做變數名稱
一定要注意,儘管使用中文漢字當做變數沒有什麼問題,但是儘量不用。
姓名 = 123
print(姓名)
關於系統保留字和 Python 內建函式,只要通過搜尋引擎很容易查詢到,可以複製下述程式碼到任意 python 檔案中,執行即可。
import keyword
print(keyword.kwlist)
執行結果如下:
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break',
'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for',
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
Python 內建函式後續也會學習到,這裡不再羅列,使用內建函式當做變數名稱,程式不會報錯,但是會導致原內建函式的功能喪失,所以不建議使用。
1.5.2 不合規變數名稱舉例
不合規的變數名:
- a,1 含有不允許的特殊符號
- 1a 數字開頭
- False 保留字
- hex 內建函式名
- 我是變數 儘量不要使用中文
變數命名時間久了之後,不需要過多的記憶,遵循一個準則即可,命名要儘量有真實的含義,例如 年紀,通過 age
命名,而不要直接宣告一個 x
表示年齡,做到見名知意即可。
1.6 列印輸出函式 print()
學習 Python 接觸到的第一個函式是 print(),該函式可以將內容在控制檯進行輸出,例如下述程式碼:
print("hello world") # 輸出一個字串
print(1+1) # 輸出1+1結果
name = "橡皮擦"
print(name) # 輸出變數值
後續將學習到更多的 print()知識,本章節可以輸出內容即可。
1.7 數學運算
Python 支援基本四則運算,求餘數,次方運算。四則運算在 Python 中對應的符號分別是 +
、-
、*
、/
。取餘也叫取模對應的符號是 %
,次方運算對應的符號為 **
(兩個星號)。
具體程式碼與註釋如下:
# 加法
a = 1+1
# 減法
b = 1-1
# 乘法
c = 2*5
# 除法
d = 4/2
# 取餘數
e = 5/2
# 次方運算
f = 2**3
# print()可以輸出多個變數,變數之間用逗號分隔即可
print(a,b,c,d,e,f)
最終的執行結果如下,我們得到了各則運算的正確結果,對於除法與取餘在後續的編碼過程中屬於非常重要的部分,你可以多嘗試幾組數字,先找找感覺。
2 0 10 2.0 2.5 8
1.7.1 數學符號的優先順序問題
涉及到數學運算,就必須要考慮符號的優先順序問題,不過所有的優先順序都可以依賴括號()
決定,如果沒有括號,那按照次方、乘法/除法/求餘數/求整除、加法/減法依次執行,與代數保持一致。
1.8 賦值運算子
截止到現在,你應該已經注意到一個符號經常出現,就是 =
,注意,該符號在 Python 中叫做賦值運算子(其它語言其實也這麼叫),它不是等號,在編碼語言中,兩個 ==
表示等於,而一個單獨的 =
表示的是賦值,例如 x=1
表示把數字 1 賦值給變數 x。
賦值運算子可以和上述學習到的算數運算子進行合作,組合出多樣的賦值運算子,例如:
+=
、-=
、*=
,具體例子如下,你可以自行在嘗試幾種,學到此處瞭解即可。
a = 1
a += 2
print(a)
執行結果為 3,上述程式碼中 a+=2
等價於 a=a+2
,如果程式碼為 a/=2
那麼它等價於 a=a/2
,依次類推,其它的賦值運算子你可以類比學習。
1.8.1 一次賦值多個變數
在 Python 程式碼的編寫中,可以一次給多個變數賦值,例如:
x = y = z = 10086
該程式碼表示給x
,y
,z
同時賦值了數字10086
,也可以給 x,y,z 分別賦值,程式碼如下:
x,y,z = 1,2,3
注意,左側變數數量和右側值的數量要保持一致。
1.9 這篇部落格的總結
本篇部落格是滾雪球學 Python 的第一章,終於發車了。橡皮擦將用最簡明的一條知識線,把你弄進 Python 圈去,希望你能輕鬆的讀到這裡,這才是 Python 學習的正確起手姿勢。
世界上最耀眼的光芒,一種是太陽,還有一種就是即將成為打工人你那努力的模樣