11-10-2018

Python是什麼? TOP7 新手必讀知識!

 


 

    Python在近幾年來的受到愈來愈多人的青睞﹐現在更是最熱門的程式語言之一。在這一篇文章我們會和大家一起探討以下四個問題:

 

1. Python究竟是什麼?

2. Python有什麼功能?

3. 學習Python究竟可以從事那些行業?

4. 介紹Python相關軟體

 

 


 





首先,你要知道

什麼是資料科學(Data Science)?

 

資料科學是將資料轉化成能解決問題的洞察(Insights),進而產生決策(Decisions)、行動(Actions)、智慧應用(Intelligent Applications)。

 

L4perUe_h7dubwsVxl9Ra41rtpSQGPycQOCCZIsXBu5L1wlOhlVmfLjvz1rEbEzMK7ZBQXYW1rKLb9wmJS02L-0u8l5PCvUzY1UrWX6KkK96dS1mFLJdKTwmPeYnmDBHq0e6-edM

 

 

W_2R24aRcO3KoFw_UZQyesgFwM05vw_CWjg6zoWNWsOobRiGZY1GwnFD4XG_QgflFRHUM_XvsvKhoXO3hf7wt8hdLlpAo8eDNVTAq1bdSBx3WNCfXG7mL6_iUOmsZL1BItIneBtA

 

1.什麼是 Python

 

Python﹐是一種廣泛使用的高階程式語言﹐屬於通用型程式語言。作為一種直譯語言﹐Python的設計哲學強調代碼的可讀性和簡潔的語法(尤其是使用空格縮排劃分代碼塊﹐而非使用大括號或者關鍵詞)。相比於C++或Java,Python讓開發者能夠用更少的代碼表達想法。不管是小型還是大型程式﹐該語言都試圖讓程式的結構清晰明了。

 

與Scheme、Ruby、Perl、Tcl等動態型別程式語言一樣,Python擁有動態型別系統和垃圾回收功能﹐能夠自動管理記憶體使用﹐並且

2.Python有什麼功能呢?

支援多種編程範式﹐包括物件導向、命令式、函數式和程序式編程。

 

 

a、數據分析與處理

Python通常被用來做數據分析因為Python可直接進行調用方便且靈活可以根據數據分析與統計的需要靈活使用。Python也是一個比較完善的數據分析生態系統其中matplotlib經常會被用來繪製數據圖表它是一個2D繪圖工具有著良好的跨平台交互特性。

b、Web開發應用

Python是Web開發的主流語言但不能說是最好的語言。畢竟在Web開發中應用多使用JavaScript原因是已一套成熟的框架。Python開發的Web項目雖小而精但支持最新的XML技術而且數據處理的功能較為強大。

c、人工智慧應用

Python擁有強大而豐富的庫以及數據分析能力。而且Python是面向對象的動態語言且適用於科學計算。不僅如此Python提供了大量的API這也正是因為Python當中包含著較多的適用於人工智慧的模塊。

 

3.學習Python可以從事什麼工作呢?

Python有以上那麼多強大的功能﹐那麼我學習完Python可以從事那些工作呢?我們為大家總結出以下幾個大方向

1)後端工程師:使用它單間網站,後台服務比較容易維護。如:Gmail、Youtube、知乎、豆瓣

2)自動化運維:自動化處理大量的運維任務

3)數據分析師:快速開發快速驗證,分析數據得到結果

4)遊戲開發者:一般是作為遊戲腳本內嵌在遊戲中

5)自動化測試:編寫為簡單的實現腳本,運用在Selenium/lr中,實現自動化。

6)網站開發:藉助django,flask框架自己搭建網站。

7)爬蟲獲取或處理大量信息:批量下載美劇、運行投資策略、爬合適房源、系統管理員的腳本任務等。

說到運行投資策略,有在投資的人肯定對「回測」不陌生!

就算不是生活在寸土寸金的台北市,懂得理財如何增長資金是非常重要的。如果覺得只觀看一至兩週的股價不夠安全,但想查看一個月至半年,甚至更久的成長趨勢,卻又苦惱於處理大量資料,這時候Python爬蟲就是很好的幫手!
常有人以為只有從事金融業者比較擅於理財、瞭解投資工具,
但其實能夠運用一點程式,會讓投資進行更有效率唷!
最近我們也和Devstars Lighthouse聯名合作了主題小聚,
如果對投資深感興趣、想實際操作如何使用Python爬取歷年股價資訊,歡迎來小聚和我們交流唷!
https://pse.is/JAG5P

具體日常比如自動備份你的MP3;

還有可以做網站,很多著名的網站像知乎、YouTube就是Python寫的;

也可以做網路遊戲的後台,很多在線遊戲的後台都是Python開發的。

總之就是能幹很多很多事啦!

而Python又是人工智慧開發的主流語言,學習Python可以做人工智慧工程師。

 

 

 

4.Python相關軟體

 

Txq7sDfVj9o0eMf-E6Fso4jhdT2jukoK_sAbhqQQSnpOhgqPZbPL9Wf34JROoRK69huDqcptEkMUPY8qR8KpheEUnuk1vmNpuypXCMfOaZZzxxJl-ht5rabTO8_dVyWmbrM0DRIe

 

Anaconda介紹

Anaconda中文是森蚺一種非常肥大的蟒蛇。

可以把Anaconda當作Python的懶人包除了Python本身(python2, 3) 還包含了Python常用的資料分析、機器學習、視覺化的套件。

 

1IZ6kEu8oCJ9CxBHnZHxnJG-zGFl5Xg_1PRYNh89gYhko9al7H-qwepqkZBVaRNcexPhGCt0mXpO5qqbYebh2EBlx4QbAWpljFPOe6tbu5UjOsBnpIjKMqidAVVn1N5L7deAy3xt

(圖為Anaconda內含的重要套件)

Anaconda安裝

 

Anaconda 下載連結:https://www.anaconda.com/download/

Anaconda初始教學:https://docs.anaconda.com/anaconda/user-guide/getting-started

 

先選擇你的作業系統(以Windows為例)

nPYv5EwmoIbBYIFgVAICGuV34B8w6goGcKyOzFCqKd4357cemBSihwUlBaPqb1Tp7s-jjRAk8P3A-qChRg42VjPHbVgbE68dCRwu3PhzyhXKNoNmbFv-vzfVR0-5tyQWCQBJcGAd

 

初學者建議從Python3.6開始然後點選download。

(在資料分析、機器學習的領域Python23 差異不大主要是Print跟unicode還有Map Reduce)

BgIAkzaXz4FczwikjtCUxyeq3TX7pwNK1jD5eP0j_UHxsF-Gw4alq5yEJt8ycGzXp_rLaiewtao0JVeKd_Wb1E5ocPWurM9DJ1mRZAQV-u22FDc4KAf17nqG5pEWir39oZBpTo2v










接著安裝完打開Anaconda Prompt

P1MJV3Ns67lagw_2lLzoLOp2gyLeSMX6WYO1Yb5PpHoAueI5PgHKX3YaSjKz6fyT0QCqSHxxDtFiUFKHQbc5ZYZEZCP_lv8WYIyOAmAPalWXdyAOYbfDNtWQ7vZULjgGL3f736Af

 

輸入python

mPp3t1ncMt5zbJSeXRYptN46radSC8Uu6oXpBR4aU8ULcJystZbhYLl3P8Gp0a3aFWU7nLLhDHBXVirpWfwkfkuJrERvAyVyyWQ8QMPgPe9980WmlLv0_kYpGTBgL6nCph3j4qGx

 

如果看到下方有出現Anaconda字樣就代表安裝完成囉!!!

 

5.Python實戰練習

下載好Anaconda之後,除了網路上有許多操作教學可以讓我們練習基礎,

這裡再額外介紹及比較幾個提升戰力的題庫網站!



(a)HackerRank


HackerRank的特色是幫助使用者熟悉特定程式語言的特性,其中LANGUAGE PROFICIENCY的分類可以讓使用者,把特定的程式語言相關題型從頭寫到尾,但主要是增加使用者對該程式的基礎且全面的認識。
對於求職者,如果想練習面試題目,也能夠在Interview Preparation Kit找到題目練習,不過這裡的題目相較後兩個練習網站,來得簡單不少,且題目篇幅平均較長,會稍微偏離實際面試可能遇到的題型,不過還是很適合平時想提升程式戰力的人!


(b)Codewars

Codewars的特色在於解題像是玩遊戲破關,每道題目等級(難度)不同,可以依照程度選擇自己想練習的題型,也有討論區可以和其他使用者討論。
相較於另外兩個網站,比較不同的是,題目沒有編號,每次選題目前都需要再找查一次,或是可以用使用者自己習慣的方式做紀錄。
討論區的解法較偏向給予部分而非整題,需要使用者自行思考,或是額外尋求適合個人理解的解法。


(c)LeetCode


LeetCode的特色為總題數大,難易度標示清楚,就是個題庫大海也是許多軟體工程師在面試前掃題的首選!
每周日早上LeetCode也有專屬於他們的線上競賽,可以從Contest的分類找到比賽資訊,也能從中看到得名大神們打的Code,也是另一種學習!
如果你喜歡LeetCode,也享受在裡面成長,想瞭解如何能從中學習更多東西,我們在十月初的小聚也很歡迎見到你哦
https://pse.is/KZNUU

 

(d)LintCode


LintCode也是許多工程師面試前常用的解題網站,可自由選擇難易度,以闖關解鎖的方式增加使用者的興趣,破解越多關卡(題目)越強!
另一個最為人知的特色是碼力訓練,有分成青銅、白銀、黃金、鉑金、鑽石五種等級,同樣是透過挑戰關卡的方式提升自己的程式能力。

結論

 

是不是對Python有些了解呢!想要了解如何有效運用data嗎?怎樣能讓information創造價值?

 

繼續follow我們「快樂學程式」臉書粉絲專頁一同邁向程式之路一起學習:))