在部落格上,我寫了很多關于 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 在下載下傳,如果沒有注意,下載下傳錯了就很煩~
![20201109214345722[1].png](
https://ucc.alicdn.com/pic/developer-ecology/c8acc29b5759489a882ea746239858b3.png)這裡留下一個小挑戰,做為一個想要學習 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 學習的正确起手姿勢。
世界上最耀眼的光芒,一種是太陽,還有一種就是即将成為打勞工你那努力的模樣