Python 适合初学编程的人学吗?
程序員不斷地創(chuàng)造新語(yǔ)言是有充分理由的。每一種編程語(yǔ)言都有其獨(dú)特之處以及最擅長(zhǎng)的方面。此外,隨著計(jì)算機(jī)技術(shù)的發(fā)展,編程語(yǔ)言也處在不斷發(fā)展中。因?yàn)閯?chuàng)建應(yīng)用程序完全是為了實(shí)現(xiàn)與計(jì)算機(jī)的高效交流,許多程序員都懂多種編程語(yǔ)言,這樣他們可以根據(jù)要做的任務(wù)選擇最合適的語(yǔ)言使用,比如使用某種語(yǔ)言可以更好地從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù),而使用另一種語(yǔ)言則可以創(chuàng)建出更棒的用戶(hù)界面元素。
大多數(shù)編程語(yǔ)言都是針對(duì)特定目標(biāo)而創(chuàng)建的。這些目標(biāo)有助于定義語(yǔ)言的特征,并且?guī)椭愀闱宄梢杂盟鼇?lái)做什么。人們?cè)趧?chuàng)建應(yīng)用程序時(shí)有相互競(jìng)爭(zhēng)的目標(biāo)和需要,所以實(shí)際上沒(méi)有任何方法可以幫助我們創(chuàng)建出一種能夠?qū)崿F(xiàn)一切目標(biāo)的編程語(yǔ)言。說(shuō)到Python這門(mén)編程語(yǔ)言,其主要目標(biāo)是幫助程序員提高編程的工作效率。基于這一點(diǎn),下面列出了Python的一些優(yōu)點(diǎn),它們會(huì)讓你在創(chuàng)建某個(gè)應(yīng)用程序時(shí)首先考慮使用Python。
- 大大縮短應(yīng)用程序開(kāi)發(fā)時(shí)間:相比于使用C/C++、Java等語(yǔ)言編寫(xiě)的代碼,使用Python編寫(xiě)的代碼要少2~10倍,也就是說(shuō),應(yīng)用程序的編寫(xiě)時(shí)間會(huì)大大縮短,你可以拿出更多時(shí)間來(lái)使用它。
- 代碼易讀性強(qiáng):編程語(yǔ)言像其他語(yǔ)言一樣,你需要閱讀使用某種編程語(yǔ)言編寫(xiě)的代碼,以便了解某段代碼的用途是什么。相比于其他編程語(yǔ)言,使用Python編寫(xiě)的程序代碼更容易閱讀,這意味著你在理解程序代碼上花費(fèi)的時(shí)間更少,這樣就可以把更多時(shí)間投入到代碼的修改上。
- 縮短學(xué)習(xí)時(shí)間:很多編程語(yǔ)言有一些古怪的規(guī)則,這讓這些編程語(yǔ)言難以學(xué)習(xí),Python去掉了這些古怪的規(guī)則,讓人們學(xué)習(xí)起來(lái)更容易,這正是Python創(chuàng)建者想要實(shí)現(xiàn)的目標(biāo)。畢竟,程序員使用編程語(yǔ)言的目標(biāo)是為創(chuàng)建應(yīng)用程序,而不是學(xué)習(xí)什么晦澀難懂的語(yǔ)言。
如果你學(xué)習(xí)編程語(yǔ)言只是為了獲得一份工作,那么Python將會(huì)是一個(gè)不錯(cuò)的選擇,但Java、C/C++,或者C#或許是更好的選擇,這取決于你想要得到什么樣的工作。Visual Basic也是一個(gè)很好的選擇,不過(guò)它目前沒(méi)有Python那么流行。選擇編程語(yǔ)言時(shí),一定要選擇一種你喜歡并且能夠滿(mǎn)足應(yīng)用程序開(kāi)發(fā)需要的語(yǔ)言,同時(shí)也要根據(jù)你想要實(shí)現(xiàn)的目標(biāo)進(jìn)行選擇。
下面列出了Python最常見(jiàn)的一些用途(當(dāng)然人們還使用Python來(lái)做其他事)。
- 做應(yīng)用程序的原型:在實(shí)際開(kāi)發(fā)應(yīng)用程序之前,開(kāi)發(fā)人員通常需要?jiǎng)?chuàng)建一個(gè)原型(一個(gè)粗糙的應(yīng)用程序樣例)。Python十分注重生產(chǎn)效率,你可以使用它快速創(chuàng)建出應(yīng)用程序的原型。
- 編寫(xiě)基于瀏覽器的應(yīng)用程序:JavaScript是用于編寫(xiě)基于瀏覽器的應(yīng)用程序的最流行的語(yǔ)言,而Python緊隨其后。Python提供了一些JavaScript不具備的功能,Python的高效性讓我們可以更快地創(chuàng)建出基于瀏覽器的應(yīng)用程序(這在當(dāng)今快節(jié)奏的世界中絕對(duì)是個(gè)很棒的優(yōu)勢(shì))。
- 編寫(xiě)數(shù)學(xué)、科學(xué)、工程應(yīng)用程序:有趣的是Python擁有一些非常酷的庫(kù),這些庫(kù)使創(chuàng)建數(shù)學(xué)、科學(xué)和工程應(yīng)用程序變得更容易。其中,兩個(gè)最流行的庫(kù)是NumPy和SciPy。在編程過(guò)程中,使用這些庫(kù)會(huì)大大減少你編寫(xiě)專(zhuān)用于執(zhí)行常見(jiàn)的數(shù)學(xué)、科學(xué)和工程任務(wù)的代碼的時(shí)間。
- 處理XML:可擴(kuò)展標(biāo)記語(yǔ)言(XML)是當(dāng)今互聯(lián)網(wǎng)和許多桌面應(yīng)用程序中大多數(shù)數(shù)據(jù)存儲(chǔ)的基礎(chǔ)。在大多數(shù)語(yǔ)言中,XML只是其中一顆小小的螺絲釘,而在Python中,XML則是“一等公民”。如果你需要使用Web服務(wù)(互聯(lián)網(wǎng)上交換信息的主要方法),Python將是一個(gè)很好的選擇。
- 與數(shù)據(jù)庫(kù)交互:商業(yè)高度依賴(lài)數(shù)據(jù)庫(kù)。雖然Python并不是一種類(lèi)似于結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)或語(yǔ)言集成查詢(xún)(LINQ)的查詢(xún)語(yǔ)言,但是它在與數(shù)據(jù)庫(kù)交互方面做得很好,并且使創(chuàng)建連接和操作數(shù)據(jù)相對(duì)輕松。
- 開(kāi)發(fā)用戶(hù)界面:在C#等編程語(yǔ)言中,一般都內(nèi)置有設(shè)計(jì)器,你可以直接從工具箱中將界面元素拖曳到用戶(hù)界面中,Python和這些語(yǔ)言不同,它有大量的圖形用戶(hù)界面(GUI)框架,利用這些框架,我們可以更容易地創(chuàng)建用戶(hù)圖形界面。這些框架中有一些有設(shè)計(jì)人員參與設(shè)計(jì),這使得用戶(hù)界面的創(chuàng)建過(guò)程變得更容易。重點(diǎn)是Python提供了多種創(chuàng)建用戶(hù)界面的方法——你可以根據(jù)自身需要選用最適合的方法。
Python與其他語(yǔ)言比較
把一種語(yǔ)言和另一種語(yǔ)言進(jìn)行比較有些不妥,因?yàn)檎Z(yǔ)言的選擇不只是一個(gè)可量化的科學(xué)事實(shí),同時(shí)也與個(gè)人的口味和偏好有關(guān)。為了避開(kāi)語(yǔ)言狂熱者的攻擊,在開(kāi)始講解如下內(nèi)容之前,我先做個(gè)重要說(shuō)明,那就是我也用過(guò)很多編程語(yǔ)言,并且發(fā)現(xiàn)它們之間有一些層面上是相似的。這個(gè)世界上沒(méi)有十全十美的語(yǔ)言,只有最適合特定應(yīng)用的語(yǔ)言。基于這個(gè)想法,下面我們將Python和其他編程語(yǔ)言大致進(jìn)行比較(你可以進(jìn)一步了解Python與其他各種語(yǔ)言的比較情況)。
1. C
許多人說(shuō)C#語(yǔ)言是微軟簡(jiǎn)單模仿Java的產(chǎn)物。盡管如此,相比于Java,C#確實(shí)有一些優(yōu)點(diǎn)(和缺點(diǎn))。C#背后的主要意圖(無(wú)可爭(zhēng)議)是創(chuàng)建一種比C/ C++更好的語(yǔ)言——一種更容易學(xué)習(xí)和使用的語(yǔ)言。不過(guò),我們要在這里將C#和Python進(jìn)行比較。與C#相比,Python有以下優(yōu)點(diǎn):
- 更容易學(xué)習(xí);
- 代碼更少(更簡(jiǎn)潔);
- 開(kāi)源且受全面支持;
- 多平臺(tái)支持更好;
- 允許使用多個(gè)開(kāi)發(fā)環(huán)境;
- 更容易使用Java和C/C++擴(kuò)展;
- 擁有眾多強(qiáng)大的科學(xué)計(jì)算和工程庫(kù)支持。
2. Java
多年來(lái),程序員一直在尋找一種編程語(yǔ)言,使用這種編程語(yǔ)言,你只需編寫(xiě)一次應(yīng)用程序,即可讓它運(yùn)行在多種平臺(tái)之下。Java就是一種跨平臺(tái)的編程語(yǔ)言,為此Java需要使用一些技巧,相關(guān)內(nèi)容你會(huì)在本書(shū)后面了解到。而現(xiàn)在,你只需要知道:Java可以成功地運(yùn)行在各種平臺(tái)之下,其他各種編程語(yǔ)言都在試圖模仿Java這一特性(模仿的成功程度各不相同)。盡管如此,與Java相比,Python還是擁有如下一些優(yōu)勢(shì):
- 更容易學(xué)習(xí);
- 代碼量更少(更簡(jiǎn)潔);
- 增強(qiáng)型變量(計(jì)算機(jī)內(nèi)存中的存儲(chǔ)盒子),運(yùn)行時(shí)根據(jù)應(yīng)用程序的需求存儲(chǔ)不同類(lèi)型的數(shù)據(jù)(動(dòng)態(tài)類(lèi)型);
- 開(kāi)發(fā)時(shí)間更短。
3. Perl
Perl最初是“實(shí)用報(bào)表提取語(yǔ)言”(Practical Extraction and Report Language)的首字母縮寫(xiě)。現(xiàn)在,人們簡(jiǎn)單地稱(chēng)這種語(yǔ)言稱(chēng)為Perl,并且一直沿用下去。不過(guò),Perl語(yǔ)言本身仍然表現(xiàn)出明顯的發(fā)明初衷,它很擅長(zhǎng)從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)并以報(bào)告的形式呈現(xiàn)數(shù)據(jù)。當(dāng)然,現(xiàn)在Perl已經(jīng)擴(kuò)展了很多功能——你可以使用它來(lái)編寫(xiě)各種應(yīng)用程序(我甚至還用它編寫(xiě)了一個(gè)Web服務(wù)程序)。相比于Perl,Python擁有如下優(yōu)點(diǎn):
- 更容易學(xué)習(xí);
- 更容易閱讀;
- 數(shù)據(jù)的增強(qiáng)型保護(hù);
- 能夠與Java更好的集成;
- 跨平臺(tái)性能更好。
4. R
在數(shù)據(jù)處理領(lǐng)域,數(shù)據(jù)科學(xué)家通常很難在R和Python之間做出選擇,因?yàn)檫@兩種語(yǔ)言都擅長(zhǎng)做統(tǒng)計(jì)分析和各種圖表(數(shù)據(jù)科學(xué)家通過(guò)這些圖表來(lái)了解數(shù)據(jù)模式)。這兩種語(yǔ)言都是開(kāi)源的,并且支持大量平臺(tái)。不過(guò),相比于Python,R語(yǔ)言的專(zhuān)用性更強(qiáng),更多用在學(xué)術(shù)研究領(lǐng)域。和R語(yǔ)言相比,Python擁有如下優(yōu)勢(shì):
- 強(qiáng)調(diào)生產(chǎn)效率和代碼的可讀性;
- 為企業(yè)設(shè)計(jì)使用;
- 調(diào)試更容易;
- 使用一致的編碼技術(shù);
- 靈活性更好;
- 更容易學(xué)習(xí)。
Python入門(mén)書(shū)推薦
Python編程快速上手 讓繁瑣工作自動(dòng)化 第2版
本書(shū)不是針對(duì)這些人的,而是針對(duì)所有其他的人。
就本書(shū)來(lái)說(shuō),它不會(huì)讓你變成一個(gè)職業(yè)軟件開(kāi)發(fā)者,就像學(xué)習(xí)幾節(jié)吉他課程不會(huì)讓你變成一名搖滾明星一樣。但如果你是辦公室職員、管理者、學(xué)術(shù)研究者,或其他任何使用計(jì)算機(jī)來(lái)工作或娛樂(lè)的人,通過(guò)本書(shū),你將學(xué)到編程的基本知識(shí),這樣就能將下面這些簡(jiǎn)單的任務(wù)自動(dòng)化。
- 移動(dòng)并重命名幾千個(gè)文件,將它們分類(lèi),并放入文件夾。
- 填寫(xiě)在線表單,但不需要打字。
- 在網(wǎng)站更新時(shí),從網(wǎng)站下載文件或復(fù)制文本。
- 讓計(jì)算機(jī)向客戶(hù)發(fā)出短信通知。
- 更新或格式化Excel電子表格。
- 檢查電子郵件并發(fā)出預(yù)先寫(xiě)好的回復(fù)。
對(duì)人來(lái)說(shuō),這些任務(wù)簡(jiǎn)單,但很花時(shí)間。它們通常很瑣碎、很特殊,沒(méi)有現(xiàn)成的軟件可以完成。但是,擁有一點(diǎn)編程知識(shí),就可以讓計(jì)算機(jī)為你完成這些任務(wù)。
笨辦法學(xué)Python 3
這本書(shū)的目的是讓你起步編程。雖然書(shū)名說(shuō)是用“Hard Way”(笨辦法)學(xué)習(xí)寫(xiě)程序,但其實(shí)并非如此。所謂的“笨辦法”指的是本書(shū)的教學(xué)方式,也就是所謂的“指令式”教學(xué)。在這個(gè)過(guò)程中,我會(huì)讓你完成一系列習(xí)題,而你則通過(guò)反復(fù)練習(xí)來(lái)學(xué)到技能,這些習(xí)題也是專(zhuān)為反復(fù)練習(xí)而設(shè)計(jì)的。對(duì)于一無(wú)所知的初學(xué)者來(lái)說(shuō),在能理解更復(fù)雜的話題之前,這種教授方式效果是很好的。
本書(shū)使用了Python 3.6。我用Python的這個(gè)版本是因?yàn)樗艘粋€(gè)新的改進(jìn)版的字符串格式化系統(tǒng),這個(gè)系統(tǒng)比之前的更為易用。
本書(shū)是一本Python入門(mén)書(shū),適合對(duì)計(jì)算機(jī)了解不多,沒(méi)有學(xué)過(guò)編程,但對(duì)編程感興趣的讀者學(xué)習(xí)使用。這本書(shū)以習(xí)題的方式引導(dǎo)讀者一步一步學(xué)習(xí)編程,從簡(jiǎn)單的打印一直講到完整項(xiàng)目的實(shí)現(xiàn),讓初學(xué)者從基礎(chǔ)的編程技術(shù)入手,最終體驗(yàn)到軟件開(kāi)發(fā)的基本過(guò)程。本書(shū)是基于Python 3.6版本編寫(xiě)的。
本書(shū)結(jié)構(gòu)非常簡(jiǎn)單,除“準(zhǔn)備工作”之外,還包括52個(gè)習(xí)題,其中26個(gè)覆蓋了輸入/輸出、變量和函數(shù)3個(gè)主題,另外26個(gè)覆蓋了一些比較高級(jí)的話題,如條件判斷、循環(huán)、類(lèi)和對(duì)象、代碼測(cè)試及項(xiàng)目的實(shí)現(xiàn)等。每一章的格式基本相同,以代碼習(xí)題開(kāi)始,按照說(shuō)明編寫(xiě)代碼,運(yùn)行并檢查結(jié)果,然后再做附加練習(xí)。
總結(jié)
以上是生活随笔為你收集整理的Python 适合初学编程的人学吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 为什么有那么多编码员音乐家?
- 下一篇: 利用python下载钉钉群直播视频