教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

學(xué)習(xí)python有哪些好處?

更新時間:2019年02月28日17時26分 來源:網(wǎng)絡(luò) 瀏覽次數(shù):

  python因?yàn)槠渥陨韺傩远齺硪蝗悍劢z,爭相進(jìn)行研究學(xué)習(xí),正在風(fēng)頭上的時候有人卻說使用python會降低程序員的編程能力,這是真的嗎?其實(shí)傳智播客分析了一下,那些都是關(guān)于python的好處。這樣的話我還要去進(jìn)行python培訓(xùn)學(xué)習(xí)嗎?就這個問題本文給大家?guī)硪恍﹨⒖家庖姡?
學(xué)習(xí)python有哪些好處
  用一把利劍會降低你的武功嗎?
  用玄鐵重劍會降低你的武功嗎?
  用木劍會降低你的武功嗎?
  同樣的道理,用python會降低你的編程能力嗎?
  用c++會降低你的編程能力嗎?
  用java會降低你的編程能力嗎?
  編程能力和你用什么語言,沒有直接關(guān)系。
  親眼見過用excel開發(fā)的游戲和網(wǎng)站原型。
  關(guān)鍵在于你運(yùn)用的足夠精湛!
  回答這個問題,首先,我們要清楚什么是編程能力?
  算法嗎?數(shù)據(jù)結(jié)構(gòu)嗎?操作系統(tǒng)嗎?是對語法的熟練程度嗎?是源碼的閱讀量、代碼的編寫行數(shù)嗎?搭個網(wǎng)站算是編程能力嗎?都不是。
  編程能力是在遇到實(shí)際問題后,將問題分解、剖析、解決的能力;說穿了,就是知乎上已經(jīng)說過無數(shù)遍的:解決問題的能力。
  把編程能力做個拆分,大概是:
  算法能力:對已知問題進(jìn)行數(shù)據(jù)結(jié)構(gòu)和算法的設(shè)計能力;
  語言能力:用特定編程語言實(shí)現(xiàn)已知算法的能力。
  從中又可以衍生出代碼風(fēng)格、抽象能力、語言理解、工具使用、工程能力。
  但這些能力,無論如何匯總拆分,都是在解決問題。
  Python影響到你解決問題了嗎?我們先看一下Python的語言特性。
  Python的特點(diǎn)是什么?
  簡單————Python是一種代表簡單主義思想的語言。Python的這種偽代碼本質(zhì)是它最大的優(yōu)點(diǎn)之一
  易學(xué)————就如同你即將看到的一樣,Python極其容易上手
  高級語言————當(dāng)你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內(nèi)存一類的底層細(xì)節(jié)。
  跨平臺————你可以在多個平臺上進(jìn)行使用。
  面向?qū)ο?mdash;———Python既支持面向過程的編程也支持面向?qū)ο蟮木幊?br />   可擴(kuò)展性————可以將部分程序用C或C++編寫,然后在Python程序中使用它們
  可嵌入性————你可以把Python嵌入你的C/C++程序
  豐富的庫————Python標(biāo)準(zhǔn)庫確實(shí)很龐大
  Python的缺點(diǎn)呢?
  強(qiáng)制縮進(jìn)————Python程序員必備游標(biāo)卡尺
  運(yùn)行速度————相比某些語言算是黑點(diǎn)之一
  Python的特點(diǎn)影響到你能力了嗎?
  看完了Python的特點(diǎn),我想沒有人會覺得這些影響編程能力吧?
  是的,Python運(yùn)行慢,但是Python寫得快,兩相權(quán)衡之下,我認(rèn)為并不成為無法解決的問題,更不至于影響編程能力。
  那我們試著來猜測一下講述這個問題的人背后的故事:
  Python語法簡單、現(xiàn)成的輪子多,也不用接觸一些很底層很燒腦的東西,所以就有了使用python讓程序員編程能力下降這一說。
  但是問題就在于,就算我壓根不懂C語言,我不明白什么叫指針,我不會自己造輪子,但是我能用Python把問題解決,這就是python的價值和這門編程語言的魅力之處。
  你用著所謂“能夠提高編程能力”的語言,花了一天時間寫出來的代碼,我Google到一個現(xiàn)成的庫,不到半小時搞定了。
  你告訴我這影響到我的編程能力了嗎?
  任何語言的使用都是有場景、有目的的,比如:
  我用Python,目的就是最快的搞定某件事;
  我用C,就是為了更底層、更優(yōu)化;
  我用Java,就是看上了它的庫;
  我用PHP...
  其實(shí),不同語言的社區(qū)訓(xùn)練出的程序員的能力側(cè)重點(diǎn)還是不一樣的,但都是能力的體現(xiàn):
  1. C 程序員對于內(nèi)存管理,計算機(jī)體系的理解能力;
  2. C++ 程序員對元編程的理解能力;
  3. Java程序員對于OO和設(shè)計模式的理解,對規(guī)模項目掌控的能力, 對虛擬機(jī)實(shí)現(xiàn)理解的能力;
  4. Ruby程序員創(chuàng)造Web應(yīng)用的能力;
  5. Python 程序員在小中型Startup中應(yīng)對各種問題的能力;
  6. Javascript 程序員研究顛覆同行對Web交互認(rèn)知的技術(shù)的能力。
  編程能力主要體現(xiàn)在將復(fù)雜問題簡單化,簡單問題模式化的能力, Python有大量的開源庫值得我們?nèi)W(xué)習(xí),你會學(xué)習(xí)很多很靈巧的設(shè)計方法和設(shè)計模式,將它與C結(jié)合緊密,實(shí)現(xiàn)優(yōu)雅與效率的緊密結(jié)合,python有著清晰易讀的代碼,而且傳智播客的python培訓(xùn)課程非常適合零基礎(chǔ)學(xué)python入門。
0 分享到:
和我們在線交談!