菜鳥學Python 2020-09-29
以下文章來源于州的先生 ,作者州的先生

州的先生
技術 · 人 · 生活
點選上方“菜鳥學Python”,選擇“星标”公衆号
超級無敵幹貨第一時間推給你!!!
Python 自上個世紀誕生,一直過着不溫不火的生活。直到近幾年,乘着資料科學的東風,從低調的腳本小兵,成為了全能型的戰士。同時也被被教育訓練機構狠狠地炒火了一把。
然而 Python 不是萬能的,作為程式設計語言的一種,它能處理的問題,别的程式設計語言幾乎也能處理;它能實作的功能,也有程式設計語言能夠實作。
既然如此,普通人學它何用?
正如州的先生在知乎《用python進行辦公自動化都需要學習什麼知識呢?》回答裡知友的評論一樣,自動化操作Excel,VBA它不香嗎?
也如另一位知友所言,如果是Excel,VBA能解決大部分的問題:
VBA 是微軟公司開發的一款宏語言,專門用于 Office 系列的各種軟體。可以讓重複的Office軟體操作(比如Excel)實作自動化處理,大大減輕使用者的工作量。
如果Office 是個爹,那麼VBA肯定是它的親兒子,無縫銜接各種操作。
至于 Python,雖然有大量的第三方子產品可以用來處理Office軟體的各種檔案,但是連幹兒子都算不上,隻能稱得上是一個有交情的好友。
如果隻是想進行 Office 辦公自動化,顯然VBA更加的适合。
程式員都喜歡玩梗說“PHP是世界上最好的語言”,到底是不是,各人有各人的看法。
但是在 Web 開發領域,PHP 還是數一數二的王者。雖然備受歧視,不吹不黑的說,用 PHP寫網站的優勢還是很多。而對于普通人來說,搭建和部署基于 PHP 開發的網站應用也是很簡單的事情。
像知名的部落格應用WordPress,知名的CMS應用帝國CMS、織夢CMS都是基于 PHP 開發的。開發高效,部署友善,修改簡單。
州的先生的部落格也是基于WordPress搭建的。
PHP 天然地為 Web 而生。
而 Python 在 Web 開發領域,雖然有老牌的三劍客(Django、Flask、Tornado),和不斷輩出的新秀。
在應用開發和部署上的一些不痛快,還是讓 Python 的 Web開發顯得小衆。
在非傳統APP開發語言,Python和JavaScript都擴充了自己的APP開發技能。
Python 是能夠寫APP的,無論是桌面APP還是移動APP,都有對應的解決方案:
桌面APP:PyQt5、Tkinter、PySide2、Kivy等;
移動APP:Kivy
但是JavaScript在這方面的功力更加深厚,前端三大架構的跨平台應用開發發展地如火如荼(React Native、Uni-app)
桌面端 Electron 也在蠶食更多傳統桌面程式開發領域的份額。
而 Python 的幾個解決方案,始終還處在開發不友好和内部玩具、實驗性産品的狀态上。
除此之外,Python 在性能上不如 C 和 C++,在穩定性上還不如 Java,在資料科學的一些地方也不如 R,資料采集要想更深一步則NodeJS更加适合,但是為什麼還說 Python 是普通人程式設計領域的王者?
正如劉邦所言:
夫運籌帷幄之中,決勝千裡之外,吾不如子房;
鎮國家,撫百姓,給饷饋,不絕糧道,吾不如蕭何;
連百萬之衆,戰必勝,攻必取,吾不如韓信。
劉邦處處不如單個領域的王者,最終卻是他成為了王者。
Python 在很多領域都不是絕對的王者,但是它能夠将很多領域用同一套方案解決并且處理的效果還不賴。對于不以程式設計為生的普通人來說,以更小的成本,習得一項技能,帶來更大的收益,是首要考慮因素。
Python 依靠其生态,打造了一個近乎完整的端到端的解決方案。在一個領域的實作,可以無痛結合嵌入到另一個領域之中。
一把鋒利的鐮刀,遠不如一把厚重的菜刀好用。