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

全國(guó)咨詢(xún)/投訴熱線:400-618-4000

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

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

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