各位看博客的園友們,你們好,我就是那個風流倜儻的KK,還記得我那篇2019年的年中總結博客嗎?我想有許多看博客的園友是沒有讀過我那篇文章的,KK很生氣,後果很嚴重(開個玩笑了,怎麼可能)。給你們一個傳送門2019年終總結,這篇博客總結了KK2019年求職的一些門檻和本身2019年的收穫,但願對正在求職的你或者立刻須要求職的園友們一些寶貴的建議(雖然說是水文,但仍是有點做用的),文章結尾的時候我給本身2020年定下了幾個目標。html
計劃二的時候說要學一門後臺開發語言,正在看標題的你已經知道是什麼開發語言了,沒錯,你猜對了就是Python,其實我主要是搞前端的,可是對於後端我以爲本身仍是有必要進一步瞭解一下。成爲一名全棧工程師也是一種榮譽。緣由的話暫時不想解釋,後期我會經過博客來講明我爲何會選擇Python這門開發語言,我和Python之間有哪些故事。Python這個系列的文章我確定會寫完的,這個請你們放心,但願本身能夠給你們帶來更多的乾貨,也但願你們能夠多多支持我。前端
Python是一種解釋型、面向對象、動態數據類型的高級程序設計語言,具備20多年的發展歷史,成熟且穩定。相信比大多數人的年齡都大,固然包括KK。python
一、Python(英國發音:/ˈpaɪθən/美國發音:/ˈpaɪθɑːn/),是一種面向對象的解釋型計算機程序設計語言,由荷蘭人GuidovanRossum於1989年發明,第一個公開發行版發行於1991年。linux
二、Python是純粹的自由軟件,源代碼和解釋器CPython遵循GPL(GNUGeneralPublicLicense)協議。Python語法簡潔清晰,特點之一是強制用空白符(whitespace)做爲語句縮進。程序員
三、Python具備豐富和強大的庫。它常被稱爲膠水語言,可以把用其餘語言製做的各類模塊(尤爲是C/C++)很輕鬆地聯結在一塊兒。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),而後對其中有特別要求的部分,用更合適的語言改寫,好比3D遊戲中的圖形渲染模塊,性能要求特別高,就能夠用C/C++重寫,然後封裝爲Python能夠調用的擴展類庫。須要注意的是在使用擴展類庫時可能須要考慮平臺問題,某些可能不提供跨平臺的實現。web
簡單:Python是一種表明簡單主義思想的語言。閱讀一個良好的Python程序就感受像是在讀英語同樣。它使你可以專一於解決問題而不是去搞明白語言自己正則表達式
易學:Python極其容易上手,由於Python有極其簡單的。算法
免費、開源:Python是一種免費而且開源的語言。sql
高層語言:用Python語言編寫程序的時候無需考慮諸如如何管理你的程序使用的內存一類的底層細節。shell
可移植性:因爲它的開源本質,Python已經被移植在幾乎全部平臺上(通過改動使它可以工做在不一樣平臺上),window,Linux,Mac OS等。
解釋性:Python解釋器把源代碼轉換成稱爲字節碼的中間形式,而後再把它翻譯成計算機使用的機器語言並運行。這使得使用Python更加簡單。也使得Python程序更加易於移植。
面向對象:Python既支持面向過程的編程也支持面向對象的編程。在「面向過程」的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在「面向對象」的語言中,程序是由數據和功能組合而成的對象構建起來的。
可擴展性:若是須要一段關鍵代碼運行得更快或者但願某些算法不公開,能夠部分程序用C或C++編寫,而後在Python程序中使用它們。
可嵌入性:能夠把Python嵌入C/C++程序,從而向程序用戶提供腳本功能。
豐富的庫:Python標準庫確實很龐大。它能夠幫助處理各類工做,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其餘與系統有關的操做。這被稱做Python的「功能齊全」理念。除了標準庫之外,還有許多其餘高質量的庫,如wxPython、Twisted和Python圖像庫等等。
Python擁有一個強大的標準庫。Python語言的核心只包含數字、字符串、列表、字典、文件等常見類型和函數,而由Python標準庫提供了系統管理、網絡通訊、文本處理、數據庫接口、圖形系統、XML處理等額外的功能。Python標準庫命名接口清晰、文檔良好,很容易學習和使用。
Python標準庫的主要功能有:
開發效率高:豐富的庫,聽說豆瓣開發只用了3個月時間就上線了。
Python是著名的「龜叔」Guido van Rossum在1989年聖誕節期間在阿姆斯特丹爲了打發無聊的聖誕節而編寫的一個腳本解釋編程語言。之因此選中Python做爲編程的名字,是由於他是一個蒙提·派森的飛行馬戲團的愛好者。
創始人爲吉多·範羅蘇姆(Guido van Rossum)
Python 2.0於2000年10月16日發佈,主要是實現了完整的垃圾回收,而且支持Unicode。
Python 3.0於2008年12月3日發佈,此版不徹底兼容以前的Python源代碼。
Python支持函數式編程和OOP面向對象編程,可以承擔任何種類軟件的開發工做,所以常規的軟件開發、腳本編寫、網絡編程等都屬於標配能力。
桌面軟件:PyQt、PySide、wxPython、PyGTK是Python快速開發桌面應用程序的利器。
隨着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等衆多程序庫的開發,Python愈來愈適合於作科學計算、繪製高質量的2D和3D圖像。和科學計算領域最流行的商業軟件Matlab相比,Python是一門通用的程序設計語言,比Matlab所採用的腳本語言的應用範圍更普遍,有更多的程序庫的支持。雖然Matlab中的許多高級功能和toolbox目前仍是沒法替代的,不過在平常的科研開發之中仍然有不少的工做是能夠用Python代勞的。
Python是一門很適合作科學計算的編程語言,97年開始,NASA就大量使用Python進行各類複雜的科學運算,隨着NumPy、SciPy、Matplotlib、Enthought librarys等衆多程序庫的開發,使得Python愈來愈適合作科學計算、繪製高質量的2D和3D圖像。
這幾乎是Python應用的自留地,做爲運維工程師首選的編程語言,Python在自動化運維方面已經深刻人心,好比Saltstack和Ansible都是大名鼎鼎的自動化平臺。
在不少操做系統裏,Python是標準的系統組件。大多數Linux發行版以及NetBSD、OpenBSD和MacOSX都集成了Python,能夠在終端下直接運行Python。有一些Linux發行版的安裝器使用Python語言編寫,好比Ubuntu的Ubiquity安裝器,RedHatLinux和Fedora的Anaconda安裝器。GentooLinux使用Python來編寫它的Portage包管理系統。Python標準庫包含了多個調用操做系統功能的庫。經過pywin32這個第三方軟件包,Python可以訪問Windows的COM服務及其它WindowsAPI。使用IronPython,Python程序可以直接調用.NetFramework。通常說來,Python編寫的系統管理腳本在可讀性、性能、代碼重用度、擴展性幾方面都優於普通的shell腳本。
四、雲計算
開源雲計算解決方案OpenStack就是基於Python開發的。
五、WEB開發
基於Python的Web開發框架不要太多,好比耳熟能詳的Django,還有Tornado,Flask。其中的Python+Django架構,應用範圍很是廣,開發速度很是快,學習門檻也很低,可以幫助你快速的搭建起可用的WEB服務。
Python常常被用於Web開發。好比,經過mod_wsgi模塊,Apache能夠運行用Python編寫的Web程序。Python定義了WSGI標準應用接口來協調Http服務器與基於Python的Web程序之間的通訊。一些Web框架,如Django,TurboGears,web2py,Zope等,可讓程序員輕鬆地開發和管理複雜的Web程序。
六、網絡爬蟲、服務器軟件
也稱網絡蜘蛛,是大數據行業獲取數據的核心工具。沒有網絡爬蟲自動地、不分晝夜地、高智能地在互聯網上爬取免費的數據,那些大數據相關的公司恐怕要少四分之三。可以編寫網絡爬蟲的編程語言有很多,但Python絕對是其中的主流之一,其Scripy爬蟲框架應用很是普遍。
Python對於各類網絡協議的支持很完善,所以常常被用於編寫服務器軟件、網絡爬蟲。第三方庫Twisted支持異步網絡編程和多數標準的網絡協議(包含客戶端和服務器),而且提供了多種工具,被普遍用於編寫高性能的服務器軟件。
七、數據分析
在大量數據的基礎上,結合科學計算、機器學習等技術,對數據進行清洗、去重、規格化和針對性的分析是大數據行業的基石。Python是數據分析的主流語言之一。
八、人工智能
Python在人工智能大範疇領域內的機器學習、神經網絡、深度學習等方面都是主流的編程語言,獲得普遍的支持和應用。
九、遊戲
不少遊戲使用C++編寫圖形顯示等高性能模塊,而使用Python或者Lua編寫遊戲的邏輯、服務器。相較於Python,Lua的功能更簡單、體積更小;而Python則支持更多的特性和數據類型。
近些年,編程語言Python的熱度愈來愈高,由於Python簡單,學起來快,是很多程序員入門的首選語言。
在網絡遊戲開發中,Python也有不少應用,相比於Lua or C++,Python比Lua有更高階的抽象能力,能夠用更少的代碼描述遊戲業務邏輯,Python很是適合編寫1萬行以上的項目,並且可以很好的把網遊項目的規模控制在10萬行代碼之內。
金融分析包含金融知識和Python相關模塊的學習,學習內容囊括Numpy\Pandas\Scipy數據分析模塊等,以及常見金融分析策略如「雙均線」、「周規則交易」、「羊駝策略」、「Dual Thrust 交易策略」等。
量化交易,就是以數學模型替代人的主觀判斷來制定交易策略。一般會藉助計算機程序來進行策略的計算和驗證,最終也常直接用程序根據策略設定的規則自動進行交易。
Python 因爲開發方便,工具庫豐富,尤爲科學計算方面的支持很強大,因此目前在量化領域的使用很普遍。市面上也出現了不少支持 Python 語言的量化平臺。經過這些平臺,你能夠很方便地實現本身的交易策略,進行驗證,甚至對接交易系統(因爲政策緣由,如今不少交易接口暫停開放)。
在過去的十年裏,Python語言得到了最大的增加幅度——十年語言之冠。
語言當前排行:
排行發展:
菜鳥教程:https://www.runoob.com/python/python-tutorial.html
廖雪峯官方Python教程:https://www.liaoxuefeng.com/wiki/1016959663602400/1016959735620448
純潔的微笑Python教程:http://www.ityouknow.com/python.html
Python社區:http://www.python88.com/forum/python
一、上python官網下載python運行環境(https://www.python.org/downloads/),建議下載穩定版本,不推薦使用最新版本。
二、上pycharm官網下載最新版的IDE(http://www.jetbrains.com/pycharm/download/#section=windows),官網提供了mac、windows和linux三種版本。
三、上postgresql官司網下載最新版的數據庫(https://www.postgresql.org/download/windows/ 打開頁面後,點擊Download the installer進入下載頁,而後選擇版本和操做系統,再點擊下載。
安裝python運行環境,雙擊python-3.5.2.exe
通常採用自定義安裝比較好,否則自動安裝會把環境安裝到我的目錄裏,有時要找起來很麻煩另外第二個紅框前面的勾記錄打上,否則須要手動在windows環境變量的路徑中添加python安裝路徑。
完成安裝而後咱們打開CMD,在裏面輸入python,就能夠直接進入進行編碼了咱們能夠輸入print('hello world!')來測試一下python運行,以下圖:
若是輸入python出現下面錯誤
那就得手動將python安裝路徑添加到系統環境變量中,這裏的操做系統主要是window7的系統
打開開始菜單,對計算機點右鍵找到屬性
選中後點擊編輯,在最後面分別添加剛纔的安裝路徑而後打開新的CMD(要開新的cmd纔有效),輸入python就能夠看到剛纔的提示進入編碼界面了。
雙擊pycharm安裝包,通常按正常的默認安裝項就能夠了
雙擊安裝文件,而後按默認項安裝就能夠了
最後一步這個勾最好去掉,否則會彈出安裝各類插件的窗口,通常來講那些插件咱們暫時都用不上,不用進行安裝。
一、打開PyCharam,選擇create New project這個選項,新建一個項目,注意目錄不要放在中文的文件夾
二、選擇Pure python,選擇本身須要保存的路徑(不要有中文路徑),選擇Create就能夠了
三、右鍵文件夾,選擇New——Python File就能夠
四、輸出Hello World,Python使用print()方法實現打印功能
print('Hello World!')
五、控制檯輸打印
使用Python輸出Hello World!咱們已經實現了。基本上對Python有了必定的瞭解,本篇博客的許多內容都是參考來的,學習Python僅僅只是個開始,可是學習編程還有很長的路須要走。