python的優缺點

python的優缺點

優點

  簡單————Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣,盡管這個英語的要求非常嚴格!Python的這種偽代碼本質是它最大的優點之一。它使你能夠專注于解決問題而不是去搞明白語言本身。

  易學————就如同你即將看到的一樣,Python極其容易上手。前面已經提到了,Python有極其簡單的語法。

  免費、開源————Python是FLOSS(自由/開放源碼軟件)之一。簡單地說,你可以自由地發布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。FLOSS是基于一個團體分享知識的概念。這是為什么Python如此優秀的原因之一——它是由一群希望看到一個更加優秀的Python的人創造并經常改進著的。

  高層語言————當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節。

  可移植性————由于它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工作在不同平臺上)。如果你小心地避免使用依賴于系統的特性,那么你的所有Python程序無需修改就可以在下述任何平臺上面運行。這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至還有PocketPC、Symbian以及Google基于linux開發的android平臺!

  解釋性————這一點需要一些解釋。一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。當你運行你的程序的時候,連接/轉載器軟件把你的程序從硬盤復制到內存中并且運行。而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼 運行 程序。在計算機內部,Python解釋器把源代碼轉換成稱為字節碼的中間形式,然后再把它翻譯成計算機使用的機器語言并運行。事實上,由于你不再需要擔心如何編譯程序,如何確保連接轉載正確的庫等等,所有這一切使得使用Python更加簡單。由于你只需要把你的Python程序拷貝到另外一臺計算機上,它就可以工作了,這也使得你的Python程序更加易于移植。

  面向對象————Python既支持面向過程的編程也支持面向對象的編程。在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在“面向對象”的語言中,程序是由數據和功能組合而成的對象構建起來的。與其他主要的語言如C++和Java相比,Python以一種非常強大又簡單的方式實現面向對象編程。

  可擴展性————如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們。

  可嵌入性————你可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。

  豐富的庫————Python標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其他與系統有關的操作。記住,只要安裝了Python,所有這些功能都是可用的。這被稱作Python的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫,如wxPython、Twisted和Python圖像庫等等。

  概括————Python確實是一種十分精彩又強大的語言。它合理地結合了高性能與使得編寫程序簡單有趣的特色。

  規范的代碼————Python采用強制縮進的方式使得代碼具有極佳的可讀性。

缺點

強制縮進

  這也許不應該被稱為局限,但是它用縮進來區分語句關系的方式還是給很多初學者帶來了困惑。即便是很有經驗的Python程序員,也可能陷入陷阱當中。最常見的情況是tab和空格的混用會導致錯誤,而這是用肉眼無法分別的。

單行語句和命令行輸出問題

  很多時候不能將程序連寫成一行,如import sys;for i in sys.path:print i。而perl和awk就無此限制,可以較為方便的在shell下完成簡單程序,不需要如Python一樣,必須將程序寫入一個.py文件。(對很多用戶而言這也不算是限制)

  NO.1 運行速度,有速度要求的話,用C++改寫關鍵部分吧。

  NO.2 國內市場較小(國內以python來做主要開發的,目前只有一些 web2.0公司)。但時間推移,目前很多國內軟件公司,尤其是游戲公司,也開始規模使用他。

  No.3 中文資料匱乏(好的python中文資料屈指可數)。托社區的福,有幾本優秀的教材已經被翻譯了,但入門級教材多,高級內容還是只能看英語版。

  NO.4 構架選擇太多(沒有像C#這樣的官方.net構架,也沒有像ruby由于歷史較短,構架開發的相對集中。Ruby on Rails 構架開發中小型web程序天下無敵)。不過這也從另一個側面說明,python比較優秀,吸引的人才多,項目也多。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/news/447566.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447566.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447566.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

springCloud - 第12篇 - 服務監控 Hystrix 面板

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 前面有用過 Hystrix 熔斷,在多服務運行時。可以通過 Hystrix 的監控面板來實時觀察各個服務的運行健康、效率和請求量等。 …

專訪Google數據科學家彭晨:大數據成為潮流走近各行各業!

摘要:在“2014中美大數據研討會”開始之前,CSDN采訪了谷歌公司數據科學家彭晨,他表示之所以“大數據”火,是因為人類第一次可以精確的、系統的、實時的、全方位的、永久的獲取、記錄、分析、并保存海量的數據。 端午節后6月6日&a…

解決:ClassNotFoundException: com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 場景,springcloud 學習工程中,把 feign 和 ribbon 工程 作為應用服務,納入 hystrix-turbine 服務…

白領夫婦白手起家 6年賺得兩房兩車

“讓金錢成為你們的奴隸,而不是被金錢奴役著。”金先生談到他的理財經驗時如是說。從大學畢業開始,他通過6年在投資道路上摸爬滾打,靠夫妻兩人的雙手掙得了全部的家當而沒有依靠父母,如今已擁有兩房兩車和上百萬的資產&#xff0c…

解決:com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused:

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 場景:啟動一個需要注冊到 eureka 注冊中心的服務 seeParam 報錯: com.sun.jersey.api.client.ClientHandle…

springCloud - 第13篇 - 服務監控 集群模式 Hystrix-turbine

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 在springcloud 體系中,可以用 hystrix-dashboard 實時監控服務的運行狀態。上一文記錄了單實例的監控,現在實…

借錢的境界:開價越低 借成的機會反而越小

一提起借錢,沒有幾個人不膽戰心驚的。有限的幾張鈔票,好端端地隱居在自己口袋里,忽然一只手伸過來把它帶走,真教人一點安全感都沒有。借錢的威脅不下于核子戰爭:后者畢竟不常發生,而且同難者眾,…

解決:Error response from daemon: Cannot restart container xxx: driver failed programming external

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 我的情況:個人站點訪問不了,重啟了阿里云ECS服務器后,發現服務器 80端口不通,于是重啟…

專訪許鵬:談C程序員修養及大型項目源碼閱讀與學習

摘要:閱讀源碼是開源項目最好的學習方式,然而真正的執行起來卻并不容易。這里我們為大家分享許鵬的源碼閱讀經驗、C程序員的修養以及Spark和Storm源碼走讀博文。 對許鵬的第一印象來源于其Bolg的粗讀,最早時候更準確說應該是博文的粗略統計—…

解決:mysql 連接報錯 Authentication plugin ‘caching_sha2_password‘cannot be loaded

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Navicat連接linux上的mysql時報如下錯誤: 錯誤原因: 即從mysql5.7版本之后,默認采用了caching_sha2_…

酒店房間和 C++ 局部變量的作用域

本文由 伯樂在線 - 菜鳥浮出水 翻譯自 StackOverflow。歡迎加入 技術翻譯小組。轉載請參見文章末尾處的要求。問題:Can a local variable’s memory be accessed outside its scope? 有一段局部變量的內存,可以從其范圍之外訪問它么? 如下…

解決:Access denied for user ‘root’@‘localhost’(using password: YES)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 我報這個錯的原因很簡單:數據庫連接時密碼輸入錯誤。把密碼確認對了,就連接成功了。

【歷史回顧】Linux發展一覽

我們周圍到處都有Linux的身影,在家中、公司里、大學、實驗室,太空空間站。現在的Linux已經從一個個人愛好發展成了一場計算機革命。在這篇文章里,我們向你展示最完整的Linux 23年來發展的歷史年表。我們周圍到處都有Linux的身影,在…

專訪聯想謝政維:功耗和價格是天蝎項目最大障礙!

摘要:與國外OpenStack和OCP(開放計算項目)頻頻見諸報端不同,中國的天蝎計劃看起來神神秘秘,今天專訪聯想謝政維,他幫我們解密了目前天蝎項目的一些基本情況,以及他對未來天蝎發展的觀點。 服務…

解決:Chrome 插件安裝時提示 程序包無效:“CRX_HEADER_INVALID“

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 今天在添加谷歌插件的時候,卻發現谷歌瀏覽器顯示 程序包無效:"CRX_HEADER_INVALID",現整理…

65種GPU性能測試,AMD開源驅動領先!

摘要:近日,Phoronix測試了65 種不同的GPU使用開源驅動的OpenGL性能,測試的GPU型號包括Intel HD Graphics、AMD Radeon、AMD FirePro和NVIDIA GeForce系列。結果顯示,相比之下,AMD開源驅動領先于NVIDIA。 【編者按】20…

1分鐘看懂:java 項目中 VO 、DTO、Entity,各自是在什么情況下應用的

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1、entity 里的每一個字段,與數據庫相對應, 2、vo 里的每一個字段,是和你前臺 html 頁面相對應&…

指尖上的藝術——如何運用代碼發揮無限創意

摘要:計算機為我們的生活帶來了不計其數的變化,現在,我們不妨也把它與藝術結合起來,去從機器的角度來為生活增添活力與色彩,開拓一個無限可能的藝術創作新境界。 寫在前面 生成的藝術,指尖上的藝術&#…

解決:XXX類存在 卻報錯 Unkonwn class:‘XXX‘ 、@Autoeired 注入失敗

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 我的情況如圖,有一個CuxxxxManager 類明明是就在本工程中的,我想注入到對應 Service 中,卻直接報…

精益設計:“紙上談兵”的說服力

摘要:當你和團隊通宵達旦地輸出大量完整而精美的方案時,可客戶卻根本不買帳。這究竟是溝通出了問題,還是我們犯了錯?如何提高設計效率、提升溝通及如何設計出更好的用戶體驗是每個互聯網從業者都值得關注的問題。 【編者按】此前…