1.1 Python簡(jiǎn)介(ython 3.x中用print()函數(shù)取代了python 2.x中的print語句兩者功能相同格式不同) Python是當(dāng)今主流的編程語言,無論是Web開發(fā)、科學(xué)計(jì)算、數(shù)據(jù)分析、游戲開發(fā)、機(jī)器學(xué)習(xí)、爬蟲、計(jì)算機(jī)視覺等等很多領(lǐng)域都在用這個(gè)編程語言。 (1)Web開發(fā)。Python是Web開發(fā)的主流語言,與JS、PHP等廣泛使用的語言相比,Python的類庫豐富、使用方便,能夠?yàn)橐粋€(gè)需求提供多種方案;此外Python支持最新的XML技術(shù),具有強(qiáng)大的數(shù)據(jù)處理能力,因此Python在Web開發(fā)中占有一席之地。Python為Web開發(fā)領(lǐng)域提供的框架有django、flask、tornado、web2py等。 (2)科學(xué)計(jì)算。Python提供了支持多維數(shù)組運(yùn)算與矩陣運(yùn)算的模塊numpy、支持高級(jí)科學(xué)計(jì)算的模塊scipy、支持2D繪圖功能的模塊matplotlib,又具有簡(jiǎn)單易學(xué)的特點(diǎn),因此被科學(xué)家用于編寫科學(xué)計(jì)算程序。 (3)游戲開發(fā)。很多游戲開發(fā)者先利用Python或Lua編寫游戲的邏輯代碼,再使用C++編寫圖形顯示等對(duì)性能要求較高的模塊。Python標(biāo)準(zhǔn)庫提供了pygame模塊,利用這個(gè)模塊可以制作2D游戲。 (4)自動(dòng)化運(yùn)維。Python又是一種腳本語言,Python標(biāo)準(zhǔn)庫又提供了一些能夠調(diào)用系統(tǒng)功能的庫,因此Python常被用于編寫腳本程序,以控制系統(tǒng),實(shí)現(xiàn)自動(dòng)化運(yùn)維。 (5)多媒體應(yīng)用。Python提供了PIL、Piddle、ReportLab等模塊,利用這些模塊可以處理圖像、聲音、視頻、動(dòng)畫等,并動(dòng)態(tài)生成統(tǒng)計(jì)分析圖表;Python的PyOpenGL模塊封裝了OpenGL應(yīng)用程序編程接口,提供了二維和三維圖像的處理功能。 (6)爬蟲開發(fā)。爬蟲程序通過自動(dòng)化程序有針對(duì)性地爬取網(wǎng)絡(luò)數(shù)據(jù),提取可用資源。Python擁有良好的網(wǎng)絡(luò)支持,具備相對(duì)完善的數(shù)據(jù)分析與數(shù)據(jù)處理庫,又兼具靈活簡(jiǎn)潔的特點(diǎn),因此被廣泛應(yīng)用于爬蟲領(lǐng)域之中。 Python是非常簡(jiǎn)單易學(xué)的語言,而且功能強(qiáng)大,具有高效的數(shù)據(jù)結(jié)構(gòu),面向?qū)ο缶幊桃埠芎?jiǎn)單。所以很多公司在快速開發(fā)應(yīng)用程序時(shí)、寫腳本時(shí),都是用的Python。 1.1.1 編程語言概述我們?nèi)烁私涣鳎康氖亲匀徽Z言,比如:漢語、英語、法語等等 計(jì)算機(jī)編程語言分為3類: 1、機(jī)器語言: 機(jī)器語言是由0、1組成的二進(jìn)制代碼表示的指令,這類語言可以被CPU直接識(shí)別,具有靈活、高效等特點(diǎn)。舉例如下:
2、匯編語言: MOV destination,source 等價(jià)于C 語言中的: destination=source 3、高級(jí)語言 常見的高級(jí)語言有Python、C、C++、Java、JavaScript、PHP、Basic、C#等等 1.1.2 Python解釋器Python是一種解釋型高級(jí)語言,Python代碼的執(zhí)行依靠的是解釋器。其中包括CPython、IPython、PyPy、Jython、IronPython。其中: CPython是官方版本的解釋器,使用C語言開發(fā)的,也是使用最廣泛的Python解釋器。 IPython是基于CPython,但交互方式上比CPython強(qiáng) PyPy是一種追求執(zhí)行速度的Python解釋器,對(duì)Python代碼的執(zhí)行速度有所提高 Jython運(yùn)行在Java平臺(tái)的Python解釋器 IronPython運(yùn)行在微軟.NET平臺(tái)上的Python解釋器 1.1.3 Python的特點(diǎn)優(yōu)點(diǎn): (2)語法優(yōu)美。Python語言是高級(jí)語言,它的代碼接近人類語言,只要掌握由英語單詞表示的助記符,就能大致讀懂Python代碼;此外Python通過強(qiáng)制縮進(jìn)體現(xiàn)語句間的邏輯關(guān)系,任何人編寫的Python代碼都規(guī)范且具有統(tǒng)一風(fēng)格,這增加了Python代碼的可讀性。 (3)簡(jiǎn)單易學(xué)。與其他編程語言相比,Python是一門簡(jiǎn)單易學(xué)的編程語言,它使編程人員更注重解決問題,而非語言本身的語法和結(jié)構(gòu)。Python語法大多源自C語言,但它摒棄了C語言中復(fù)雜的指針,同時(shí)秉持“使用最優(yōu)方案解決問題”的原則,使語法得到了簡(jiǎn)化,降低了學(xué)習(xí)難度。 (4)開源。Python自身具有足夠多引人注目的優(yōu)點(diǎn),該優(yōu)先吸引了大量的人使用和研究Python;Python是FLOSS(自由/開放源碼軟件)之一,用戶可以自由地下載、拷貝、閱讀、修改代碼,并能自由發(fā)布修改后的代碼,這使相當(dāng)一部分用戶熱衷于改進(jìn)與優(yōu)化Python。 (5)可移植。Python作為一種解釋型語言,可以在任何安裝有Python解釋器的平臺(tái)中執(zhí)行,因此Python具有良好的可移植性,使用Python語言編寫的程序可以不加修改地在任何平臺(tái)中運(yùn)行。 (6)擴(kuò)展性良好。Python從高層上可引入.py文件,包括Python標(biāo)準(zhǔn)庫文件,或程序員自行編寫的.py形式的文件;在底層可通過接口和庫函數(shù)調(diào)用由其它高級(jí)語言編寫的代碼。 (7)類庫豐富。Python解釋器擁有豐富的內(nèi)置類和函數(shù)庫,世界各地的程序員通過開源社區(qū)又貢獻(xiàn)了十幾萬個(gè)幾乎覆蓋各個(gè)應(yīng)用領(lǐng)域的第三方函數(shù)庫,使開發(fā)人員能夠借助函數(shù)庫實(shí)現(xiàn)某些復(fù)雜的功能。 (8)通用靈活。Python是一門通用編程語言,可被用于科學(xué)計(jì)算、數(shù)據(jù)處理、游戲開發(fā)、人工智能、機(jī)器學(xué)習(xí)等各個(gè)領(lǐng)域。Python語言又介于腳本語言和系統(tǒng)語言之間,開發(fā)人員可根據(jù)需要,將Python作為腳本語言來編寫腳本,或作為系統(tǒng)語言來編寫服務(wù)。 (9)模式多樣。Python解釋器內(nèi)部采用面向?qū)ο竽J綄?shí)現(xiàn),但在語法層面,它既支持面向?qū)ο缶幊?,又支持面向過程編程,可由用戶靈活選擇。 (10)良好的中文支持。Python 3.x解釋器采用UTF-8編碼表達(dá)所有字符信息,該編碼不僅支持英文,還支持中文、韓文、法文等各類語言,使得Python程序?qū)ψ址奶幚砀屿`活與簡(jiǎn)潔。 缺點(diǎn): (2)Python 3.x和Python 2.x不兼容。 1.2 Python安裝Python在Windows、Linux、Mac系統(tǒng)均可以使用,但大多數(shù)學(xué)生都是Windows系統(tǒng),所以下面僅以Windows操作系統(tǒng)為例,演示Python解釋器的安裝過程。 但是大家要清楚,工作以后就是Linux用的最多,因?yàn)槟銓懞玫某绦蜃罱K要上線,供用戶使用,此時(shí)需要放到Linux服務(wù)器中運(yùn)行,因此Linux中也必定要有Python的解釋器。 一般工作用Mac OS的,基本都是大廠程序猿、水平較高的程序猿,或者專門做Mac OS應(yīng)用程序開發(fā)的程序猿。 1.2.1 Windows下的安裝(1)訪問Python官網(wǎng)的下載頁面:
1.2.2 Linux下的安裝可自行百度,這里僅附上一篇鏈接:在Linux上安裝Python3 1.2.3 Mac OS下的安裝Mac環(huán)境下python安裝及配置教程 1.3 Python代碼執(zhí)行Python程序的運(yùn)行方式有兩種:交互式和文件式: 交互式指Python解釋器逐行接收Python代碼并即時(shí)響應(yīng); 文件式也稱批量式,指先將Python代碼保存在文件中,再啟動(dòng)Python解釋器批量解釋代碼。 1.3.1 交互式模式下執(zhí)行Python代碼1.交互式 print('hello world') 按下回車鍵,控制臺(tái)將立刻打印運(yùn)行結(jié)果。運(yùn)行結(jié)果如下所示: hello world 1.3.2 腳本模式下執(zhí)行Python代碼2.文件式 1.4 Python集成開發(fā)環(huán)境所謂的集成開發(fā)環(huán)境就是在開發(fā)程序代碼時(shí),把很多能幫助提高代碼開發(fā)效率的功能,封裝在一個(gè)應(yīng)用程序中,這個(gè)應(yīng)用程序就是集成開發(fā)環(huán)境。 Python集成開發(fā)環(huán)境非常多,常見的有以下幾種:
1.4.1 PyCharm的安裝PyCharm的下載安裝
(1)雙擊下載好的exe安裝文件(
(6)片刻后PyCharm安裝完成,單擊【Finish】按鈕結(jié)束安裝 。 1.4.2 PyCharm的使用(1)完成PyCharm的安裝后,雙擊桌面的PC圖標(biāo)打開PyCharm。首次使用PyCharm時(shí)用戶需先接受相關(guān)協(xié)議。 (2)單擊【Continue】按鈕,進(jìn)入“Customize PyCharm”界面,選擇PyCharm的UI主題,建議選擇Darcula這種黑色主題(比較護(hù)眼,且黑色給人以高端的感覺)。
(1)Creat New Project:創(chuàng)建新項(xiàng)目。 (4)創(chuàng)建項(xiàng)目。單擊【Create New Project】進(jìn)入【CreateProject】界面。這里設(shè)置項(xiàng)目存儲(chǔ)路徑為D:\PythonDemo,之后單擊【Create】進(jìn)入項(xiàng)目界面 。
print('Hello World!') (7)右鍵單擊HelloWorld.py文件,在彈出的快捷菜單中選擇【Run 'hello_world’】運(yùn)行程序。 1.4.3 PyCharm的插件這一節(jié)初學(xué)者可跳過,后續(xù)有需要的時(shí)候再回頭來看。 (1) 如何安裝Pycharm插件 在正式介紹插件之前,先來簡(jiǎn)單看下Pycharm的插件安裝方法。 打開file——settings——plugings,在右側(cè)的文本框中輸入想要查看的插件名稱,在下方就會(huì)羅列出已安裝的相關(guān)的插件,點(diǎn)擊Install就可以安裝:
1.5 Python2.x與Python3.x的區(qū)別本節(jié),建議初學(xué)者直接跳過,因?yàn)槟壳按蠖鄶?shù)項(xiàng)目都已經(jīng)是用Python 3.x做的了。以前需要學(xué)習(xí)區(qū)別是因?yàn)楫?dāng)時(shí)很多項(xiàng)目都是Python 2.x做的,我們要了解區(qū)別,然后才能把老版本的代碼升級(jí)為新的去運(yùn)行,但現(xiàn)在市場(chǎng)上基本沒有這種需求了,所以建議初學(xué)者直接跳過! Python 3.x不兼容Python 2.x,但這兩個(gè)系列在語法層面的差別不大,Python 3.x移除了部分混淆的表達(dá)方式,但大體語法與Python 2.x相似,Python 3.x的使用者可以輕松閱讀Python 2.x編寫的代碼。 下面列舉Python 3.x和Python 2.x的部分區(qū)別,以幫助大家了解它們之間的差異。 (1)編碼方式。 # -*- coding:utf-8 -*- 除需在程序首行添加以上代碼外,Python 2.x編寫的程序中需要使用decode()方法和encode()方法對(duì)接收和輸出的字符格式進(jìn)行轉(zhuǎn)換。 (3)除法運(yùn)算
(5)比較行為 Python 3.x中的<、<=、>、>=運(yùn)算符被用于比較兩個(gè)不存在有意義順序的元素時(shí)不再返回布爾值,而是拋出異常。
(7)關(guān)鍵字 (8)input()函數(shù) (9)range()函數(shù) (10)異常 1.6 小結(jié)本文首先簡(jiǎn)單介紹了Python語言、編程語言、Python解釋器、語言特點(diǎn)以及應(yīng)用領(lǐng)域,之后介紹了在Windows系統(tǒng)中安裝和配置Python開發(fā)環(huán)境、運(yùn)行Python程序的方法,最后簡(jiǎn)單介紹了程序開發(fā)流程與編寫方式,然后介紹了集成開發(fā)環(huán)境PyCharm的安裝和使用,然后介紹了2.x版本和3.x之間的區(qū)別。 通過本文的學(xué)習(xí),希望大家能夠Python有個(gè)大致的了解,建立起學(xué)習(xí)的興趣和信心,能夠熟練搭建Python開發(fā)環(huán)境以及運(yùn)行Python程序,并熟悉程序設(shè)計(jì)的流程與編寫程序的基本方法。 1.7 Python集成開發(fā)環(huán)境(IDE)[1] IDLE: Python解釋器默認(rèn)工具 [2] Visual Studio Code: https://code./ [3] PyCharm: [4] Anaconda: https://www./ 1.8 參考網(wǎng)站[1] Python主站:https://www. [2] Python123學(xué)習(xí)主站:https:// 1.9 常見問題Q1:Python語言、C語言、Java語言、VB語言……到底哪種適合作為入門編程語言呢? A1:Python是最好的程序設(shè)計(jì)入門語言、也是最先進(jìn)的程序設(shè)計(jì)語言。如果只想學(xué)一門程序設(shè)計(jì)語言,請(qǐng)學(xué)Python;如果想學(xué)一門最先進(jìn)的程序設(shè)計(jì)語言,請(qǐng)學(xué)Python。 Q2:Python 2.x 和Python 3.x,該學(xué)習(xí)哪個(gè)版本? A2:Python 3.x,本教程的所有內(nèi)容只講授這個(gè)版本 與傳統(tǒng)軟件升級(jí)不同,3.x版本與2.x版本并不兼容,3.x版本2008年發(fā)布,至今,所有Python主流功能庫都可以穩(wěn)定且更高效地運(yùn)行在Python 3.x版本下,專業(yè)Python程序員都已經(jīng)使用Python 3.x版本,無可爭(zhēng)議。 Q3:Python語言是跨平臺(tái)的嗎? A3:Python語言所編寫程序可以無需修改在Windows、Linux、UNIX、Mac等操作系統(tǒng)上使用。(嚴(yán)謹(jǐn)些:如果Python程序所調(diào)用的庫是平臺(tái)無關(guān)的,則可以跨平臺(tái)。) Q4:Python語言是面向?qū)ο笳Z言嗎? A4:面向?qū)ο笫浅绦蛟O(shè)計(jì)方法的一種,Python語言并不局限于此。你可以學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)方法,并利用Python語言實(shí)現(xiàn),也可以僅僅用面向過程的基本方式,甚至,你可以沒有任何風(fēng)格的寫幾行代碼,Python語言都是支持的。它就是這么任性! Q5:全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)Python科目有什么用?需要參加嗎? A5:全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)(簡(jiǎn)稱:等考)由教育部考試中心(高考、四六級(jí)和研究生考試也是這個(gè)官方部門組織的哦?。┙M織,主要面向高校學(xué)生及社會(huì)學(xué)習(xí)者開展的水平性考試,其中Python語言課目于2018年9月首次開考,每年3月和9月兩次大考。等考對(duì)計(jì)算機(jī)專業(yè)學(xué)生沒有太大意義,畢竟專業(yè)學(xué)生需要很專業(yè);但對(duì)于非計(jì)算機(jī)專業(yè)學(xué)生證明計(jì)算機(jī)尤其是編程水平非常權(quán)威也比較有用。據(jù)說上海市落戶的積分政策中有對(duì)計(jì)算機(jī)水平及等級(jí)考試的要求。 PS: 就是男主徐鳳年問劍神李淳罡的劍術(shù)到底啥水平,李淳罡說了一句話:“天不生我李淳罡,劍道萬古如長(zhǎng)夜” 為什么會(huì)被驚艷到呢?不知道從什么時(shí)候起,自己的生活開始變得波瀾不驚,平靜如一灘死水。 我記得初二的時(shí)候,雖然我是從農(nóng)村插班來的城里,跟一群從小享受優(yōu)秀教育資源的孩子在一個(gè)班里,但是我還敢認(rèn)為自己是最聰明的,在學(xué)習(xí)能力上能壓倒班里所有人 當(dāng)時(shí)和班里一個(gè)同學(xué)打賭,我能用一晚上的時(shí)間背下一整本英語書,第二天一早讓他提問,如果單詞錯(cuò)誤超過兩個(gè)算我輸,結(jié)果我贏了。 大二的時(shí)候,參加電子設(shè)計(jì)大賽,4天3夜,比賽結(jié)束后就在實(shí)驗(yàn)室門口的廢棄桌子上睡了整整一天。 研二的時(shí)候,連續(xù)作戰(zhàn)60多個(gè)小時(shí),就為了發(fā)表一篇二區(qū)SCI,在實(shí)驗(yàn)室,一抬頭天黑了,再一抬頭天又亮了,這種狀態(tài)持續(xù)3天,中間實(shí)在熬不住,就睡了半小時(shí),最終順利發(fā)表了一篇二區(qū)SCI,這是目前為止成就最大的一件事了。你為一件事下的勁越大,努力的時(shí)間越長(zhǎng),等到做成了的時(shí)候,那種快樂,也是你刷多少抖音,贏多少游戲都享受不到的。 我在想,我是從什么時(shí)候開始就沒了那種年輕人的自負(fù),驕傲,豪情,能打硬仗,敢打硬仗的精氣神,我已經(jīng)快30歲了,慢慢失去這些東西也算是有點(diǎn)借口,但是看到我的學(xué)生,18歲左右,正是大好的青春年華,卻沒見到哪個(gè)同學(xué)有“老子天下第一“的豪氣!,也沒見哪個(gè)同學(xué)非常能吃學(xué)習(xí)的苦,你們總是要畢業(yè)的,總是要走向社會(huì)的,這個(gè)世界,你不吃學(xué)習(xí)的苦,就要吃身體的苦,腦力勞動(dòng)和體力勞動(dòng)總要選擇一個(gè)。 這篇文章是為我的學(xué)生寫的,用了我大概四個(gè)多小時(shí)的時(shí)間,希望你們看到這,能激起你心底的自負(fù)出來,不要自信,就要自負(fù),就是要”天不生我李淳罡,劍道萬古如長(zhǎng)夜“的自負(fù)。 我的項(xiàng)目經(jīng)驗(yàn)足以支撐你們找到一個(gè)滿意的工作,但是路很長(zhǎng),也很難走,我當(dāng)時(shí)沒人指導(dǎo)自己摸索,用了差不多3年的時(shí)間,你們只有2年的時(shí)間,時(shí)間緊迫,不逼自己一把,永遠(yuǎn)不知道自己到底能多優(yōu)秀! 你努努力,看看將來會(huì)發(fā)生什么! 很多學(xué)生說自己是??疲瘘c(diǎn)底,你做的東西離我們太遠(yuǎn),我們眼前的學(xué)習(xí)都顧不上呢 我承認(rèn),命運(yùn)確實(shí)給了你很低的起點(diǎn),但是不是讓你抱怨和頹廢的,而是讓你用兩年的時(shí)間去奮斗出一個(gè)絕地反擊的故事 |
|