小白自學(xué)筆記之Python入門(mén)-第一章 Python是啥?
你肯定能猜到這里Python是一種編程語(yǔ)言。但實(shí)際上,Python的原意是“大蟒蛇”,有點(diǎn)嚇人吧!你看Python的標(biāo)志就是兩條蛇,下圖就是。

為什么是蟒蛇呢?錢(qián)鐘書(shū)說(shuō),“假如你吃了個(gè)雞蛋,覺(jué)得不錯(cuò),何必要認(rèn)識(shí)那下蛋的母雞呢?”這是大家的低調(diào)與謙遜,但是普通人還是要八卦一下, Python的創(chuàng)始人,就是下面這位。

Guido van Rossum是一名荷蘭計(jì)算機(jī)程序員,曾在Google工作。1989年,Guido在阿姆斯特丹圣誕節(jié)假期覺(jué)得沒(méi)意思,于是就開(kāi)發(fā)了一個(gè)新的編程語(yǔ)言。之所以把這門(mén)新的編程語(yǔ)言稱(chēng)作Python,是因?yàn)镚uido特別喜歡一個(gè)電視喜劇《蒙提.派森的飛行馬戲團(tuán)》(Monty Python's Flying Circus),就是這么隨意??吹竭@兒,咱們有必要思考一下:假期無(wú)聊時(shí)我們會(huì)做什么?吃零食、追劇、刷手機(jī)……大神和普通人的差距就是這樣一步一步拉開(kāi)的。
Python的英音是[?pa?θ?n],美音是[?pa?θɑ?n]。一般來(lái)說(shuō)我們中國(guó)人看到這個(gè)單詞就會(huì)讀“拍森”,反正我是這樣讀的,可是聽(tīng)到外國(guó)人讀“拍?!?,啊歐錯(cuò)了,但發(fā)音又不容易改,直到我查到它的英音是“拍森”,所以就心安理得的繼續(xù)讀下去了。
說(shuō)道編程語(yǔ)言,不得不提TIOBE(本文知識(shí)點(diǎn)都統(tǒng)一采用這種樣式),TIOBE又是啥?TIOBE就是一個(gè)編程語(yǔ)言排行榜,根據(jù)全世界受歡迎程度列出的編程語(yǔ)言排名(網(wǎng)址:https://www.tiobe.com/tiobe-index/)。TIOBE的英文解釋如下。
The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, You Tube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.
2020年六月的Top10排名如下,由此可見(jiàn)Python還是比較受歡迎的,所以盡力學(xué)好,怎么樣,學(xué)完咱也是懂IT的人了。

現(xiàn)在我們知道了Python是一種很受歡迎的編程語(yǔ)言,主要原因是Python相對(duì)簡(jiǎn)單,而應(yīng)用范圍廣。相對(duì)于C、C++、Visual C++、Java、Visual Basic、FoxPro、MATLAB、Fortran、SQL、Pascal來(lái)說(shuō)(我能說(shuō)這幾種語(yǔ)言我都一瓶子不滿,半瓶子晃蕩嗎),Python真的是比較簡(jiǎn)單的。但是Python有標(biāo)準(zhǔn)庫(kù)、第三方庫(kù)和外部工具,所以功能相當(dāng)強(qiáng)大!標(biāo)準(zhǔn)庫(kù)、第三方庫(kù)和外部工具到底是些啥不重要,只要了解一點(diǎn):如果是Python自己不能解決的問(wèn)題,可以使用很多其它的工具完成,我自己沒(méi)有那就用別人的吧。還有,Python可以調(diào)用其他語(yǔ)言的程序,這一點(diǎn)更加擴(kuò)展了Python的功能,如可以調(diào)用C、C++、Java、SQL等等。下面簡(jiǎn)單列舉一些第三方庫(kù)及其網(wǎng)址,只是為了說(shuō)明Python功能很強(qiáng)大,估計(jì)小白目前用不到,所以下面斜體部分可以不看,黑體是我們這個(gè)筆記中會(huì)介紹的。
網(wǎng)絡(luò)爬蟲(chóng)
requests:https://pypi.org/project/requests/簡(jiǎn)潔且簡(jiǎn)單的處理HTTP請(qǐng)求的第三方庫(kù)
scrapy:https://scrapy.org/快速、高層次的Web獲取框架
數(shù)據(jù)分析
numpy:http://www.numpy.org/開(kāi)源數(shù)值計(jì)算擴(kuò)展第三方庫(kù)
scipy:https://pypi.org/project/scipy/專(zhuān)為科學(xué)以及工程計(jì)算的第三方庫(kù)
pandas:http://pandas.pydata.org/可高效地操作大型數(shù)據(jù)集的第三方庫(kù)
文本處理
pdfminer:https://pypi.org/project/pdfminer/從PDF文檔中提取各類(lèi)信息的第三方庫(kù)
openpyxl:https://pypi.org/project/openpyxl/處理MicrosoftExcel文檔的Python第三方庫(kù)
python-docx:https://pypi.org/project/python-docx/處理MicrosoftWord文檔的Python第三方庫(kù)
beautifulsoup4:https://pypi.org/project/beautifulsoup4/從HTML和XML文件中解析出數(shù)據(jù)的第三方庫(kù)
用戶圖形界面
PyQt5:https://pypi.org/project/PyQt5/成熟的商業(yè)級(jí)GUI第三方庫(kù)
wxpython:https://pypi.org/project/wxPython/優(yōu)秀的GUI圖形庫(kù)
pygtk:https://pypi.org/project/PyGTK/輕松創(chuàng)建具有圖形用戶界面程序的第三方庫(kù)
機(jī)器學(xué)習(xí)
Scikit-learn:https://scikit-learn.org/stable/簡(jiǎn)單且高效的數(shù)據(jù)挖掘和數(shù)據(jù)分析工具
Tensorflow:https://pypi.org/project/tensorflow/人工智能學(xué)習(xí)系統(tǒng)
Theano:http://deeplearning.net/software/theano/執(zhí)行深度學(xué)習(xí)中大規(guī)模神經(jīng)網(wǎng)絡(luò)算法的運(yùn)算
Web開(kāi)發(fā)
Django:https://pypi.org/project/Django/最流行的開(kāi)源Web應(yīng)用框架
Pyramid:https://pypi.org/project/pyramid/通用、開(kāi)源的PythonWeb應(yīng)用程序開(kāi)發(fā)框架
Flask:https://pypi.org/project/Flask/輕量級(jí)Web應(yīng)用框架
游戲開(kāi)發(fā)
Pygame:https://www.python.org/面向游戲開(kāi)發(fā)入門(mén)的Python第三方庫(kù)
Panda3D:http://www.panda3d.org/開(kāi)源、跨平臺(tái)的3D渲染和游戲開(kāi)發(fā)庫(kù)
cocos2d:https://pypi.org/project/cocos2d/構(gòu)建2D游戲和圖形界面交互式應(yīng)用的框架
數(shù)據(jù)可視化
Matplotlib:https://matplotlib.org/提供數(shù)據(jù)繪圖功能的第三方庫(kù),主要進(jìn)行二維圖表數(shù)據(jù)展示
TVTK:https://www.lfd.uci.edu/~gohlke/pythonlibs/圖形應(yīng)用函數(shù)庫(kù),是專(zhuān)業(yè)可編程的三維可視化工具
mayavi:https://pypi.org/project/mayavi/方便實(shí)用的可視化軟件
【上述參考網(wǎng)絡(luò)資料】

下面談?wù)勗趺床拍軐W(xué)好Python。先給大家介紹一個(gè)學(xué)習(xí)金字塔理論,這個(gè)理論不單單適用于Python,可以用于所有的學(xué)習(xí)。學(xué)習(xí)金字塔是美國(guó)緬因州的國(guó)家訓(xùn)練實(shí)驗(yàn)室研究成果,它用數(shù)字形式形象顯示了采用不同的學(xué)習(xí)方式,學(xué)習(xí)者在兩周以后還能記住內(nèi)容(平均學(xué)習(xí)保持率)的多少,最早是由美國(guó)學(xué)者、著名的學(xué)習(xí)專(zhuān)家愛(ài)德加·戴爾1946年首先發(fā)現(xiàn)并提出的。

在塔尖,第一種學(xué)習(xí)方式——“聽(tīng)講”,也就是老師在上面說(shuō),學(xué)生在下面聽(tīng),這種我們最熟悉最常用的方式,學(xué)習(xí)效果卻是最低的,兩周以后學(xué)習(xí)的內(nèi)容只能留下5%。
第二種,通過(guò)“閱讀”方式學(xué)到的內(nèi)容,可以保留10%。
第三種,用“聲音、圖片”的方式學(xué)習(xí),可以達(dá)到20%。
第四種,是“示范”,采用這種學(xué)習(xí)方式,可以記住30%。
第五種,“小組討論”,可以記住50%的內(nèi)容。
第六種,“做中學(xué)”或“實(shí)際演練”,可以達(dá)到75%。
最后一種在金字塔基座位置的學(xué)習(xí)方式,是“教別人”或者“馬上應(yīng)用”,可以記住90%的學(xué)習(xí)內(nèi)容。
愛(ài)德加·戴爾提出,學(xué)習(xí)效果在30%以下的幾種傳統(tǒng)方式,都是個(gè)人學(xué)習(xí)或被動(dòng)學(xué)習(xí);而學(xué)習(xí)效果在50%以上的,都是團(tuán)隊(duì)學(xué)習(xí)、主動(dòng)學(xué)習(xí)和參與式學(xué)習(xí)。
由上可知,如果想學(xué)習(xí)效率高就盡量采用主動(dòng)學(xué)習(xí)和參與式學(xué)習(xí),特別是多采用“馬上應(yīng)用”或者“教別人”的方式。在編程學(xué)習(xí)過(guò)程中,“馬上應(yīng)用”可以采用學(xué)完知識(shí)點(diǎn)之后就上機(jī)編程實(shí)踐,“教別人”可以采用學(xué)完知識(shí)點(diǎn)之后自己出一些題目并提供參考答案的方式進(jìn)行。
?
學(xué)習(xí)Python的參考資料
https://www.icourse163.org/course/BIT-268001
中國(guó)大學(xué)MOOC:搜索嵩天 一系列的Python基礎(chǔ)及進(jìn)階課程
Python語(yǔ)言程序設(shè)計(jì) 北京理工大學(xué) 嵩天
?
https://www.w3school.com.cn/python/index.asp
w3schools的學(xué)習(xí)社區(qū)及菜鳥(niǎo)編程平臺(tái)
?
https://www.liaoxuefeng.com/wiki/1016959663602400
廖雪峰Python教程
?
https://www.w3cschool.cn/python3/python3-tutorial.html
W3Cschool是一個(gè)專(zhuān)業(yè)的編程入門(mén)的在線教程及使用手冊(cè)
?
最后一個(gè)問(wèn)題,Python分為Python2.x和Python3.x,不要想當(dāng)然的以為后者是前者的版本升級(jí),實(shí)際上這兩個(gè)是不兼容的,而且差異比較大(可以自行Baidu),強(qiáng)烈不推薦使用Python2.x進(jìn)行編程。準(zhǔn)備好了嗎?let’s go!
等一下,還有一個(gè)問(wèn)題,Python的編程環(huán)境用哪種?我用的是Python自帶的IDLE和PyCharm,小白用足夠了,等級(jí)考試使用IDLE(考試環(huán)境Windows操作系統(tǒng),建議 Python3.4.2至 Python3.5.3版本,IDLE開(kāi)發(fā)環(huán)境——摘自考試大綱),大家也可以自行百度下載安裝,或者用另一個(gè)Anaconda,原意是“水蟒蛇”,也夠嚇人。Anaconda里包含了很多工具包,以后用到這些工具時(shí)可以不用自己安裝, PyCharm就要自己下載安裝一些庫(kù)。下圖是Anaconda的圖標(biāo)。

作業(yè):自己安裝一下Python的編程環(huán)境(IDLE, Integrated Development and Learning Environment, IDE:Integrated Development Environment)

補(bǔ)充資料:Python所需軟件及安裝
注意:不同的機(jī)器會(huì)有所不同,請(qǐng)大家自己解決遇到的問(wèn)題,按照?qǐng)D中紅色矩形框選擇
如何安裝Python
官網(wǎng):https://www.python.org/?

PyCharm
http://www.jetbrains.com/pycharm/download/?

?
你的筆記



