python編譯器知乎
⑴ python好學嗎 知乎
首先,對於初學者來說學習Python是不錯的選擇,一方面Python語言的語法比較簡單易學,另一方面Python的實驗環境也比較容易搭建。
學習編程是一定需要老師的,我不信誰能無師自通把Python學得多好。至少著急就業的人肯定不會,沒人指導很難學成。那麼學習Python編程語言難嗎?其實學Python不難,比起C語言、C#、 C+ +和java這些編程語言相對容易很多。學習Python編程語言,動手實踐是一件非常愉快的事情。
下面給新手學習Python一些建議:
1、先買一本自學用的Python書籍,不要看電子書。
2、對Python基礎數據類型有個了解。
3、學會各種類型的操作方法。
4、了解函數和類的概念。
5、動手實踐,找小項目練習。
如果你決定了要學習Python技術,就是為了以後能有個高薪工作,而且你對自己學習Python還很自信,建議參加專業的學習。因為你對於工作的迫切需求,你肯定不會像大學那樣貪玩不學習,你會極其認真。
⑵ python是什麼樣的編程語言
python是什麼編程的高級語言?
Python是一種面相對象、解釋型的計算機程序語言,並已成為學習數據科學、虛擬現實和人工智慧的首選編程語言,其設計哲學是「優雅」,「明確」,「簡單」。易上手,及時反饋的特點成了很多入門編程世界的首選。同時Python也是一種相當高級的語言,擁有豐富和強大的第三庫,可引用各種模塊並很輕松的連接在一起。眾多社交網站如Reddit, 豆瓣,知乎,Dropbox, YouTube,果殼等都是由Python完成。
最初對python的印象是在紀錄片《互聯網之子》中Aaron Swartz從MIT的圖書館截取的那些文件資料用的程序就是用python寫的,當時對python心生盪漾,但很快就灰飛煙滅,因為沒有後續聯接和交集。
個把月前我看到一個python基礎班,當時還不知道Python是什麼樣的編程語言(即使到現在也還不完全了解Python具體可以做啥),從哪裡來要去哪裡,完全不了解的情況下按了報名鍵。我自認為的優點是盡力為自己的行為買單,且只能是默默的,不可讓一時沖動太聲張,也不能恬不知恥的說那是epiphany,而是盡量去探詢已成事實的一二。
培訓班不上課,沒有講義和資料,只分配任務和引導卡片,剛開始也會心有戚戚焉,在白紙上亂畫我還得知道怎麼握筆呢,可是在鍵盤上亂敲肯定不會有驚喜,錯誤提示都看不懂,別說去修Bug。程序裝了卸,卸了裝,操作也是胡亂使用添加,電腦最終無法忍受這樣的主就自動癱瘓裝死,只得我重裝系統又如獲新生,也算如實貫徹了打小的信念「生命在於折騰」。厚著臉皮長大的人是天生被上帝眷顧著的,基本不會心生『不好意思』的念頭,不懂就問同學嘛!一個不行換另一個,哪怕被認為問了「愚蠢」的問題。匍匐著向前,只要方向對了,那也是進步吧!
就像學外語著得把身處周圍的環境變數調整過來,讓自己置身在那個世界中去感受和徜徉,身上細胞的張合大小,呼吸的進出頻率也慢慢跟上節奏。除了Python本家,編譯程序(Windows上我使用Atom, MAC使用TextWrangler)和運行終端(Windows PowerShell 或Terminal)外,接觸最多的就是 Github, Google 還有新歡Markdown (MOU)。
——-Github 是世界上最大的代碼存放網站和開源社區,副名是:最大的同性交友網站,因其界面設計很容易對號入座。盡管那原是Geek的天地,如今越來越多的其他門派弟子也加入其中,大家都帶著靈敏的嗅覺,看哪好就往裡鑽。他是協作項目最好的實現平台,支持異地,不同電腦的項目更新,特別是不同動作之前的區別和個別動靜的比較清晰可見,操作人性化。很多人在上面寫書,協作翻譯,項目管理、設計資料庫、科研項目數據及個人簡歷都放上面,還有人把自己的健身記錄也放上面。據說有公司招聘還需要看應聘者的github賬號。最最重要的是一切都是免費,只要你想。(盡管有收費的,那是針對個別私人想要數據保密的公司)。之前在別處看到github這個詞就當是熟悉的陌生人,熟悉「github"這6個字母組成的單詞,但完全不知道那是什麼樣的世界。現只是輕輕推移了那扇門,門縫里漏出的光都覺足夠耀眼並思忖著想探尋更多。
-——Google 本不需要多提,原來也是每天在使用。可Google貌似與Python有真感情,每次搜索打Python開頭的關鍵字,出來的第一條結果往往就是正確答案且出自Google自家,比Python的官方文件還顯情真意切。
-——Markdown 人稱寫作神奇,是我刻意關注並想收入囊中的工具,想讓她陪伴著我寫下去,目前還有待開發。
如他程序Python基本命令零容錯,標點符號,大小字母,縮進都有嚴格的規定,更別提邏輯關系,循環迭代,有一處不對就報錯。對小白來說修Bug的時間會比寫程序的時間還長,修復一個bug,報出新的bug已經算是一種進步了。在編程時,若習慣了這些嚴苛的標准到不是非常難,錯一次磕一下頭,同一個錯多犯幾次,就多磕幾次,即使擦破頭皮反正不至於亡命天涯,總歸能牢記於心。當從程序世界抽離自己回到現實世界,真感覺對待其他事是不是太隨意了。至少我打這些文字的時候根本沒注意「的」和「地」的區別,逗號和句號看心情而定,習慣了新段落前不空兩格。工作中仔細的程度沒法用尺衡量,也不會有程序直接報錯,免不了能略就略,可以將就過去就不願多費心思,短期可能沒有意外,總歸長久不了,埋下的地基是作為將來向上的支撐。自從學習編程以來,已開始反思,雖還沒改進多少,可像顆釘子被扎著總覺不適,不時提醒自己。
作為一門高級語言,靈活性和包容性對第三方庫有著無限的吸引力。據說C++用200行命令,Java的40行而Python只需20行可實現同樣的功能。雖然基本命令的嚴苛像個固執的老學究,但若掌握了要領,成了武林高手,各種技巧靈活運用,自由發揮,蓋世武功盡情發揮。只要有本事,任你翻雲覆雨,去到『風所到達的地方』。
Python的一大特點是代碼只在命令運行時才會被檢查執行,即使隱藏了錯誤,若沒運行到,永遠發現不了。很像身體或任何世間體制內的事,大家只關心呵護眼見為實,真實的隱藏只被激發時才被注意到。為了掃清後顧之憂,我們使用『及時反饋』策略,就是碼幾行程序,馬上print出來,看效果如何,而不是等敲完所有的程序,才發現一團亂麻卻不知如何進行手術。這是平時學習很好借鑒的地方,走一段路得停一下檢查是不是在正確的道上,一方面可及時調整姿態,重要的是用小小的可見成果作為的漫漫前方道路的鼓勵。
如果我的回答對您有所幫助,記得點亮採納哦,謝謝啦!
⑶ python最佳入門教程(1): python的安裝
本教程基於python3.x, 是針對初學者的一系列python入門教程,在知乎上常有人問我計算機該怎麼學,如何自學編程,筆者也是通過自學編程而進入IT這一行業的,回顧入行的這幾年,從音視頻流媒體輾轉到人工智慧深度學習,機器視覺,我是下了不少苦心的,對於如何學習有自己的一套理論和實踐方法,很多人自言學編程不得其門,把學不會歸咎於天分,其實芸芸眾生,智力無別,你現在所看到的是技術大牛們一個個超凡絕頂(然知此絕頂非彼絕頂),看不到的是曾經的他們,也在每個晝夜裡用心苦學。再者學一門技術,需要勤學刻苦,是需要講究方法和基礎的,方法對了就事半功倍,所謂的天才也無不是建立在扎實的基礎之上。
在windows中安裝python
首先打開python官網https://www.python.org/,點擊頁面downloads導航按鈕,下載windows最新的基於web安裝的安裝器,右鍵以管理員身份運行 安裝包,會出現如下界面:
將Add Python 3.7 to PATH 進行勾選,勾選此項的目的在於將python解釋器加入系統環境變數,則在後續的python開發中可直接在windows 命令行中執行python腳本。所謂的環境變數是系統運行環境的一系列參數,比如這里的系統環境變數是PATH,PATH保存了與路徑相關的參數,系統在路徑查找中,會對PATH保存的路徑進行搜索。
點擊install Now按鈕執行python的安裝
打開windows命令行界面(按windows鍵輸入cmd命令),輸入python -V,出現python版本的相關輸出,即表示安裝成功。
在linux系統中安裝python
筆者的系統是CentOS, Linux系統默認有安裝python,但是其版本是2.x,在這里筆者以源碼安裝的形式來安裝python 3.X。首先進入python源碼包頁面 點擊下載最新的gzip格式的python源碼包,上傳到伺服器然後進行解壓,解壓後的目錄結構如下圖所示:
Linux中的configure與make
configure是Linux中的腳本配置工具,用來對源碼的當前安裝環境進行檢測,若檢測無誤,會在當前目錄生成一個供源碼編譯的Makefile腳本文件。
make是Linux系統下的編譯安裝工具,用來解釋執行makefile文件中的腳本命令,編譯命令。
現在我們開始編譯安裝python
(1) 在當前目錄執行./configure(2) 輸入 make && sudo make install
若無指定安裝目錄,python會被默認安裝在/usr/local目錄中, 讀者可以執行./configure --prefix=「你自定義的安裝目錄」來配置安裝路徑。安裝完畢以後進入/usr/local/bin目錄,輸入 「python3.x -V」 (這里的python3.x為你所安裝的python版本),若出現與python版本的相關輸出,即表示安裝成功。
為安裝的python設置軟鏈接
安裝的python可以以絕對路徑的方式來執行,每次敲一大段路徑來執行python未免麻煩,通常我們會給安裝的python設置軟鏈接,這里的軟鏈接類似於windows的快捷方式。
輸入以下命令來給python設置軟鏈接,筆者安裝的版本是python3.7, pip是python的包管理工具,會在教程的後續章節中進行詳細講解。
ln -s /usr/bin/python3 /usr/local/bin/python3.7 # 表示設置python3 為 /usr/local/bin/python3.7的快捷方式ln -s /usr/bin/pip3 /usr/local/bin/pip3.7 # 表示設置pip3 為 /usr/local/bin/pip3.7的快捷方式
⑷ python的用途和優點
用途:
1、主要是開發快,語言簡潔,沒那麼多技巧,所以讀起來很清楚容易。
5、像VS那樣功能強的IDE,有要錢的PyCharm和不要錢的PyDev,PyDev有Eclipse的插件版本或者是Aptana Studio版本。
拓展資料:
應用:
1、web豆瓣,還有非常多的網頁游戲的後端。我知道的都是作為後台服務,無論開發速度還是調試之類的都很好。前端的應用產品雖然python可以實現,但是在GUI方面的開發效率還是沒有VS或者XCode快。
2、像VS那樣功能強的IDE,有要錢的PyCharm和不要錢的PyDev。PyDev有Eclipse的插件版本或者是Aptana Studio版本
總結:
從個人感覺來說,微軟體東西,非常好,省心,一流的技術理念,開發工具是全世界最好的(沒有之一)。不過,因為它只限於微軟的平台,所以范圍上大大打了折扣。 世界上最流行的伺服器還是unix和linux。而不是windows。桌面操作系統最流行的是windows。不過在所有的平台上都有C語言,大部分平台,甚至手機平台都有python語言和它的執行環境。這是其它的所有語言,包括java幾乎都很難做到的。
⑸ 現在的軟體有哪些是用Python語言編程的
國內知名的使用Python編程公司是豆瓣和知乎,頭條早期也是使用Python編程。而國外的知名公司有Youtube, Quora, Dropbox和Google等。
當我們刷知乎刷豆瓣時,當我們使用這些公司的服務時,背後就有Python代碼默默地為我們工作。
簡介
去年(2019)我們人類首次見到了黑洞的照片,掌聲背後Python也功不可沒。天文學家使用Python處理望遠鏡收集的數據,除了用到Astropy這個天文學相關的庫之外,還使用了Numpy, Scipy, Pandas進行數據處理,用Matplotlib畫圖等等,而且也用到了Jupyter Notbook這款非常贊的工具。
時間進入2000年,Web開始流行,Python也進入Web開發領域。Python知名的Web框架有Django, Tornado, Flask,知乎就使用了Tornado。同時,搜索引擎和爬蟲的火熱,其間也少不了Python的身影,scrapy, selenium, pyspider等爬蟲工具就是Python開發的(selenium比較特殊一點,略)。對爬到的html頁面進行處理,在Python中有lxml, beautiful soup, pyquery等庫幫我們處理。
⑹ python的優缺點是什麼
優點:
Python的定位是「優雅」、「明確」、「簡單」,所以Python程序看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常復雜的程序。
開發效率非常高,Python有非常強大的第三方庫,基本上你想通過計算機實現任何功能,Python官方庫里都有相應的模塊進行支持,直接下載調用後,在基礎庫的基礎上再進行開發,大大降低開發周期,避免重復造輪子。
高級語言————當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節
可移植性————由於它的開源本質,Python已經被移植在許多平台上(經過改動使它能夠工 作在不同平台上)。如果你小心地避免使用依賴於系統的特性,那麼你的所有Python程序無需修改就幾乎可以在市場上所有的系統平台上運行
可擴展性————如果你需要你的一段關鍵代碼運行得更快或者希望某些演算法不公開,你可以把你的部分程序用C或C++編寫,然後在你的Python程序中使用它們。
可嵌入性————你可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能
速度慢,Python 的運行速度相比C語言確實慢很多,跟JAVA相比也要慢一些,因此這也是很多所謂的大牛不屑於使用Python的主要原因,但其實這里所指的運行速度慢在大多數情況下用戶是無法直接感知到的,必須藉助測試工具才能體現出來,比如你用C運一個程序花了0.01s,用Python是0.1s,這樣C語言直接比Python快了10倍,算是非常誇張了,但是你是無法直接通過肉眼感知的,因為一個正常人所能感知的時間最小單位是0.15-0.4s左右,哈哈。其實在大多數情況下Python已經完全可以滿足你對程序速度的要求,除非你要寫對速度要求極高的搜索引擎等,這種情況下,當然還是建議你用C去實現的。
代碼不能加密,因為PYTHON是解釋性語言,它的源碼都是以名文形式存放的,不過我不認為這算是一個缺點,如果你的項目要求源代碼必須是加密的,那你一開始就不應該用Python來去實現。
線程不能利用多CPU問題,這是Python被人詬病最多的一個缺點,GIL即全局解釋器鎖(Global Interpreter Lock),是計算機程序設計語言解釋器用於同步線程的工具,使得任何時刻僅有一個線程在執行,Python的線程是操作系統的原生線程。在Linux上為pthread,在Windows上為Win thread,完全由操作系統調度線程的執行。一個python解釋器進程內有一條主線程,以及多條用戶程序的執行線程。即使在多核CPU平台上,由於GIL的存在,所以禁止多線程的並行執行。關於這個問題的折衷解決方法,我們在以後線程和進程章節里再進行詳細探討。
缺點:
Python目前主要應用領域:
雲計算: 雲計算最火的語言, 典型應用OpenStack
WEB開發: 眾多優秀的WEB框架,眾多大型網站均為Python開發,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
科學運算、人工智慧: 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas
系統運維: 運維人員必備語言
金融:量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作為動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高於c,c++,java,尤其擅長策略回測
圖形GUI: PyQT, WxPython,TkInter
Python在一些公司的應用:
谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬蟲、Google廣告等項目都在大量使用Python開發
CIA: 美國中情局網站就是用Python開發的
NASA: 美國航天局(NASA)大量使用Python進行數據分析和運算
YouTube:世界上最大的視頻網站YouTube就是用Python開發的
Dropbox:美國最大的在線雲存儲網站,全部用Python實現,每天網站處理10億個文件的上傳和下載
Instagram:美國最大的圖片分享社交網站,每天超過3千萬張照片被分享,全部用python開發
Facebook:大量的基礎庫均通過Python實現的
Redhat: 世界上最流行的Linux發行版本中的yum包管理工具就是用python開發的
豆瓣: 公司幾乎所有的業務均是通過Python開發的
知乎: 國內最大的問答社區,通過Python開發(國外Quora)
春雨醫生:國內知名的在線醫療網站是用Python開發的
除上面之外,還有搜狐、金山、騰訊、盛大、網易、網路、阿里、淘寶 、土豆、新浪、果殼等公司都在使用Python完成各種各樣的任務。
1989年,為了打發聖誕節假期,Guido開始寫Python語言的編譯器。Python這個名字,來自Guido所摯愛的電視劇Monty Python』s Flying Circus。他希望這個新的叫做Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。
1991年,第一個Python編譯器誕生。它是用C語言實現的,並能夠調用C語言的庫文件。從一出生,Python已經具有了:類,函數,異常處理,包含表和詞典在內的核心數據類型,以及模塊為基礎的拓展系統。
Granddaddy of Python web frameworks, Zope 1 was released in 1999
Python 1.0 - January 1994 增加了lambda,map,filterandrece.
Python 2.0 - October 16, 2000,加入了內存回收機制,構成了現在Python語言框架的基礎
Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 誕生
Python 2.5 - September 19, 2006
Python 2.6 - October 1, 2008
Python 2.7 - July 3, 2010
In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
Python 3.0 - December 3, 2008
Python 3.1 - June 27, 2009
Python 3.2 - February 20, 2011
Python 3.3 - September 29, 2012
Python 3.4 - March 16, 2014
Python 3.5 - September 13, 2015
Python 3.6 - December 16,2016
python發展史
摘自我的博客,禁止所有形式的轉載
⑺ python 和 r 的區別 知乎
有人說Python和R的區別是顯而易見的,因為R是針對統計的,python是給程序員設計的,其實這話對Python多多少少有些不公平。2012年的時候我們說R是學術界的主流,但是現在Python正在慢慢取代R在學術界的地位。不知道是不是因為大數據時代的到來。
Python與R相比速度要快。Python可以直接處理上G的數據;R不行,R分析數據時需要先通過資料庫把大數據轉化為小數據(通過groupby)才能交給R做分析,因此R不可能直接分析行為詳單,只能分析統計結果。所以有人說:Python=R+SQL/Hive,並不是沒有道理的。
Python的一個最明顯的優勢在於其膠水語言的特性,很多書里也都會提到這一點,一些底層用C寫的演算法封裝在Python包里後性能非常高效(Python的數據挖掘包Orange canve 中的決策樹分析50萬用戶10秒出結果,用R幾個小時也出不來,8G內存全部占滿)。但是,凡事都不絕對,如果R矢量化編程做得好的話(有點小難度),會使R的速度和程序的長度都有顯著性提升。
R的優勢在於有包羅萬象的統計函數可以調用,特別是在時間序列分析方面,無論是經典還是前沿的方法都有相應的包直接使用。
相比之下,Python之前在這方面貧乏不少。但是,現在Python有了pandas。pandas提供了一組標準的時間序列處理工具和數據演算法。因此,你可以高效處理非常大的時間序列,輕松地進行切片/切塊、聚合、對定期/不定期的時間序列進行重采樣等。可能你已經猜到了,這些工具中大部分都對金融和經濟數據尤為有用,但你當然也可以用它們來分析伺服器日誌數據。於是,近年來,由於Python有不斷改良的庫(主要是pandas),使其成為數據處理任務的一大替代方案。
做過幾個實驗:
1. 用python實現了一個統計方法,其中用到了ctypes,multiprocess。
之後一個項目要做方法比較,又用回R,發現一些bioconctor上的包已經默認用parallel了。(但那個包還是很慢,一下子把所有線程都用掉了,導致整個電腦使用不能,看網頁非常卡~)
2. 用python pandas做了一些數據整理工作,類似資料庫,兩三個表來回查、匹配。感覺還是很方便的。雖然這些工作R也能做,但估計會慢點,畢竟幾十萬行的條目了。
3. 用python matplotlib畫圖。pyplot作圖的方式和R差異很大,R是一條命令畫點東西,pylot是准備好了以後一起出來。pyplot的顏色選擇有點尷尬,默認顏色比較少,之後可用html的顏色,但是名字太長了~。pyplot 的legend比R 好用多了,算是半自動化了。pyplot畫出來後可以自由拉升縮放,然後再保存為圖片,這點比R好用。
總的來說Python是一套比較平衡的語言,各方面都可以,無論是對其他語言的調用,和數據源的連接、讀取,對系統的操作,還是正則表達和文字處理,Python都有著明顯優勢。 而R是在統計方面比較突出。但是數據分析其實不僅僅是統計,前期的數據收集,數據處理,數據抽樣,數據聚類,以及比較復雜的數據挖掘演算法,數據建模等等這些任務,只要是100M以上的數據,R都很難勝任,但是Python卻基本勝任。
結合其在通用編程方面的強大實力,我們完全可以只使用Python這一種語言去構建以數據為中心的應用程序。
但世上本沒有最好的軟體或程序,也鮮有人能把單一語言挖掘運用到極致。尤其是很多人早先學了R,現在完全不用又捨不得,所以對於想要學以致用的人來說,如果能把R和Python相結合,就更好不過了,很早看過一篇文章——讓R與Python共舞,咱們壇子里有原帖,就不多說了,看完會有更多啟發。
BTW: 如果之前沒有學過R,可以先學Python然後決定是不是學R,如果學了R,學Python的時候會更快上手。
⑻ python作為腳本語言和c/c++ 等語言的優勢和劣勢在哪裡地方python比較成熟用途在哪裡方面
Python 是腳本語言,也就是中間件語言,其內核仍然是純 c 的性能表達的,而主要性能消耗在腳本的實時編譯上。
而對比c,同樣的功能,python可以表達比c更加精煉,當然犧牲了一些性能。
如果確實對某個模組性能不滿意,還可以使用 c 編寫 Python 模塊為其加速。
面對一些並不需要過多性能而可以獲得更快捷的開發速度,Python的優勢完全可以蓋過「劣勢」。
可以說,Python基本完美。
例如知乎就是使用 Python 製作的。
Google 的許多頁面也是使用 Python 進行渲染的。
⑼ python用什麼開發平台 知乎
1、首先作為學生,可以通過e郵箱申請到Jetbrains全家桶,即便無法獲取授權,pycharm的community版本免費並且功能足夠
2、對於pycharm,可以方便快捷地切換python不同版本的解釋器,甚至可以安裝相同版本的python解釋器配置不同的開發環境,這可以解決有些包之間沖突的情況,也可以針對有些框架按需裝包;並且pycharm內置包管理,可以免去pip或者conda方式管理包。
3、pycharm這個IDE的顏色方案、拼寫補全、函數聯想、函數跳轉源代碼、斷點調試及debug等功能都讓我用的十分順手。
總之我現在的工作流程就是,先用對我需要的功能進行設計,而後在ipython界面下設計調試每個功能模塊,調試成功後放到pycharm中組合起來,寫成腳本文件,最後用pycharm做調試形成成品。