作者: 艾文,計算機碩士學(xué)位,企業(yè)內訓講師和金牌面試官,公司資深算法專(zhuān)家,現就職BAT一線(xiàn)大廠(chǎng)。
內容:跟艾文學(xué)編程《零基礎入門(mén)Python基礎》

● Python 簡(jiǎn)介
● Python 常用的庫
● Python 第一個(gè)程序
● Python 開(kāi)發(fā)環(huán)境
● Jupyter-notebook 的介紹
● Python基礎規則
● Python 數據類(lèi)型
● Python中的標準操作符
● 循環(huán)與判斷
● Python字符串類(lèi)型
● 1989年圣誕節:Guido von Rossum開(kāi)始寫(xiě)Python語(yǔ)言的編譯器。
● 1991年2月:第一個(gè)Python編譯器(同時(shí)也是解釋器)誕生,它是用C語(yǔ)言實(shí)現的(后面又出現了Java和C#實(shí)現的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他實(shí)現),可以調用C語(yǔ)言的庫函數。在最早的版本中,Python已經(jīng)提供了對“類(lèi)”,“函數”,“異常處理”等構造塊的支持,同時(shí)提供了“列表”和“字典”等核心數據類(lèi)型,同時(shí)支持以模塊為基礎的拓展系統。
● 1994年1月:Python 1.0正式發(fā)布。
● 2000年10月16日:Python 2.0發(fā)布,增加了實(shí)現完整的垃圾回收,提供了對Unicode的支持。與此同時(shí),Python的整個(gè)開(kāi)發(fā)過(guò)程更加透明,社區對開(kāi)發(fā)進(jìn)度的影響逐漸擴大,生態(tài)圈開(kāi)始慢慢形成。
● 2008年12月3日:Python 3.0發(fā)布,它并不完全兼容之前的Python代碼,不過(guò)因為目前還有不少公司在項目和運維中使用Python 2.x版本,所以Python 3.x的很多新特性后來(lái)也被移植到Python 2.6/2.7版本中。
目前我們使用的Python 3.7.x的版本是在2018年發(fā)布
全世界差不多有 600 多種編程語(yǔ)言,但流行的編程語(yǔ)言也就那么 20 來(lái)種。不知道你有沒(méi)有聽(tīng)說(shuō)過(guò) TIOBE 排行榜。
這是 2019 年 5 月編程語(yǔ)言排行榜榜單:

Top 10 編程語(yǔ)言 TIOBE 指數走勢

總的來(lái)說(shuō),這幾種編程語(yǔ)言各有千秋,但不難看出,最近幾年 Python 的發(fā)展非常的快,特別最近流行的機器學(xué)習,數據分析,更讓 python 快速的發(fā)展起來(lái)。
● Numpy
NumPy(Numerical Python) 是 Python 語(yǔ)言的一個(gè)擴展程序庫,支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學(xué)函數庫。
● Pandas
pandas 是基于NumPy 的一種工具,該工具是為了解決數據分析任務(wù)而創(chuàng )建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。pandas提供了大量能使我們快速便捷地處理數據的函數和方法。
● Matplotlib
Matplotlib 是 Python 的繪圖庫。 它可與 NumPy 一起使用,提供了一種有效的 MatLab 開(kāi)源替代方案
● Seaborn
Seaborn其實(shí)是在matplotlib的基礎上進(jìn)行了更高級的API封裝,從而使得作圖更加容易,在大多數情況下使用seaborn就能做出很具有吸引力的圖,而使用matplotlib就能制作具有更多特色的圖。應該把Seaborn視為matplotlib的補充,而不是替代物

● 集成開(kāi)發(fā)環(huán)境(IDE): PyCharm(大型項目開(kāi)發(fā)使用)
PyCharm 下載地址 : https://www.jetbrains.com/pycharm/download/
● 直接安裝官網(wǎng)python(不推薦)
下載地址: https://www.python.org/
● 科學(xué)計算環(huán)境Anaconda(學(xué)習過(guò)程推薦使用)
下載地址: https://www.anaconda.com/distribution/#download-section
Mac 下安裝: https://www.datacamp.com/community/tutorials/installing-anaconda-mac-os-x
Windows 下安裝: https://www.datacamp.com/community/tutorials/installing-anaconda-windows
參考操作手冊《docs/Jupyter_Notebook_Cheat_Sheet.pdf》

Jupyter Notebook 是一種開(kāi)發(fā)工具,可以通過(guò)圖形化的界面分析數據。
● 模塊
模塊盡量使用小寫(xiě)命名,首字母保持小寫(xiě),盡量不要用下劃線(xiàn)(除非多個(gè)單詞,且數量不多的情況)

● 類(lèi)名
類(lèi)名使用駝峰(CamelCase)命名風(fēng)格,首字母大寫(xiě)

● 函數
函數名一律小寫(xiě),如有多個(gè)單詞,用下劃線(xiàn)隔開(kāi)

● 變量名
變量名盡量小寫(xiě), 如有多個(gè)單詞,用下劃線(xiàn)隔開(kāi)

● 常量
常量采用全大寫(xiě),如有多個(gè)單詞,使用下劃線(xiàn)隔開(kāi)

● 塊注釋

● 行注釋

● 文檔注釋
''' 開(kāi)頭和結尾, 首行不換行, 如有多行, 末行必需換行, 以下是Google的docstring風(fēng)格示例

● 對函數參數、返回值等的說(shuō)明采用numpy標準

Python 中的變量賦值不需要類(lèi)型聲明
每個(gè)變量在內存中創(chuàng )建,都包括變量的標識,名稱(chēng)和數據這些信息
每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì )被創(chuàng )建

在內存中存儲的數據可以有多種類(lèi)型。
Python有五個(gè)標準的數據類(lèi)型:
Numbers(數字)
String(字符串)
List(列表)
Tuple(元組)
Dictionary(字典)

數字數據類(lèi)型用于存儲數值。
不可改變的數據類(lèi)型,這意味著(zhù)改變數字數據類(lèi)型會(huì )分配一個(gè)新的對象
Python支持四種不同的數字類(lèi)型:
int(有符號整型)
long(長(cháng)整型[也可以代表八進(jìn)制和十六進(jìn)制])
float(浮點(diǎn)型)
complex(復數) 長(cháng)整型也可以使用小寫(xiě) l,但是還是建議您使用大寫(xiě) L,避免與數字 1 混淆。Python使用 L 來(lái)顯示長(cháng)整型。 Python 還支持復數,復數由實(shí)數部分和虛數部分構成,可以用 a + bj,或者 complex(a,b) 表示, 復數的實(shí)部 a 和虛部 b 都是浮點(diǎn)型。 注意:long 類(lèi)型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 類(lèi)型數據溢出后會(huì )自動(dòng)轉為long類(lèi)型。在 Python3.X 版本中 long 類(lèi)型被移除,使用 int 替代。
字符串或串(String)是由數字、字母、下劃線(xiàn)組成的一串字符
使用 [頭下標:尾下標] 來(lái)截取相應的字符串,其中下標是從 0 開(kāi)始算起,可以是正數或負數,下標可以為空表示取到頭或尾。

List(列表) 是 Python 中使用最頻繁的數據類(lèi)型。
列表可以完成大多數集合類(lèi)的數據結構實(shí)現。它支持字符,數字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 標識,是 python 最通用的復合數據類(lèi)型。
列表中值的切割也可以用到變量 [頭下標:尾下標] ,就可以截取相應的列表,從左到右索引默認 0 開(kāi)始,從右到左索引默認 -1 開(kāi)始,下標可以為空表示取到頭或尾。


字典(dictionary)列表是有序的對象集合,字典是無(wú)序的對象集合。
兩者之間的區別在于:字典當中的元素是通過(guò)鍵來(lái)存取的,而不是通過(guò)偏移存取。
字典用'{ }'標識。字典由索引(key)和它對應的值value組成。

對數據內置的類(lèi)型進(jìn)行轉換,數據類(lèi)型的轉換,你只需要將數據類(lèi)型作為函數名即可。
以下幾個(gè)內置的函數可以執行數據類(lèi)型之間的轉換。這些函數返回一個(gè)新的對象,表示轉換的值。

注:在 Python 3 里,只有一種整數類(lèi)型 int,表示為長(cháng)整型,沒(méi)有 python2 中的 Long。

以下假設變量: a=10,b=20

以下假設變量a為10,變量b為20

以下假設變量a為10,變量b為20

按位運算符是把數字看作二進(jìn)制來(lái)進(jìn)行計算的。Python中的按位運算法則如下:
下表中變量 a 為 60,b 為 13,二進(jìn)制格式如下

Python語(yǔ)言支持邏輯運算符,以下假設變量 a 為 10, b為 20

除了以上的一些運算符之外,Python還支持成員運算符,測試實(shí)例中包含了一系列的成員,包括字符串,列表或元組

身份運算符用于比較兩個(gè)對象的存儲單元

以下表格列出了從最高到最低優(yōu)先級的所有運算符

Python條件語(yǔ)句是通過(guò)一條或多條語(yǔ)句的執行結果(True或者False)來(lái)決定執行的代碼塊。
可以通過(guò)下圖來(lái)簡(jiǎn)單了解條件語(yǔ)句的執行過(guò)程: 語(yǔ)法格式:
if 判斷條件1: 執行語(yǔ)句1……elif 判斷條件2: 執行語(yǔ)句2……elif 判斷條件3: 執行語(yǔ)句3……else: 執行語(yǔ)句4……
Python for循環(huán)可以遍歷任何序列的項目,如一個(gè)列表或者一個(gè)字符串。
語(yǔ)法:
for循環(huán)的語(yǔ)法格式如下:for iterating_var in sequence: statements(s)
while 語(yǔ)句類(lèi)似于for,迭代序列進(jìn)行操作

如果你需要對序列類(lèi)型的數據通過(guò)序列號進(jìn)行迭代,可以通過(guò)range函數來(lái)處理

類(lèi)似在C 語(yǔ)言中,break 語(yǔ)句多用在while和for 循環(huán)中

Python pass 是空語(yǔ)句,是為了保持程序結構的完整性。
pass 不做任何事情,一般用做占位語(yǔ)句。


● 通過(guò)索引方式獲取數據

● 切片方式訪(fǎng)問(wèn)數據

● 獲取字符串的長(cháng)度

● 循環(huán)打印數據

大家考慮這樣問(wèn)題,如果我們希望輸出的結果放到一行?print 函數有這種功能,那么如何使用呢? 我們建議大家可以使用help 命令

通過(guò)help(print) 我們可以了解python 當中一些非常重要的函數具體內容。

● 查找某個(gè)字符串

● 其他的字符串操作


聯(lián)系客服