java轉python,python和java哪個好-Python和Java到底哪個更好?

 2023-11-18 阅读 29 评论 0

摘要:某同學問小優:"小優小優,學Java好還是學Python好?” 小優跑去問大神(90度鞠躬):"大神,大神,學Java好還是學Python好?” java轉python,大神嫌棄的看了我一眼,繼續妙手生花的敲代碼,良久,飄過來一句:

某同學問小優:"小優小優,學Java好還是學Python好?”

小優跑去問大神(90度鞠躬):"大神,大神,學Java好還是學Python好?”

java轉python,大神嫌棄的看了我一眼,繼續妙手生花的敲代碼,良久,飄過來一句:

"初學者才爭論語言,我們只看心情。”

我……

python編程、"那他們的區別是什么?”

"區別就是他們是否適合你們這些小白。”

OK,不愧是大神,那就讓我們初學者,

python3。自生自滅吧!不,自力更生吧!

下面小優就帶著大家一起來看一下"Python和Java的區別!”

Python

java c python?>>>優點 :

語法簡潔優美, 功能強大,

標準庫跟第三方庫灰常強大,

應用領域非常廣,跟PHP形成了鮮明的對比!

語言方面, 舉幾個例子:

一切都是對象!!!

類(class本身)/函數/類方法是callable的對象

因為是對象,所以你當然可以傳來傳去啦. 比如:

List表達式(其他好多語言也有,但是我最喜歡python的寫法):

把”1023″變成 [1, 2, 3]

(當前你可以用Lisp風格的: map(int, filter(lambda x: x != "0”, "1024”)))

對dict也是類似:

yield關鍵字:

當你需要返回很多東西然后一個一個用的時候, 你可以一次返回一個

裝飾器@:

把something_heavy()返回的結果緩存起來(以函數名+args為緩存的鍵值,只緩存最近使用的10條)

運算符重載:

試試numpy, 你會驚呆的, 操作向量/矩陣跟基本類型一樣方便

>>>缺點:

慢!

目測python是最慢的腳本語言,比V8上的JS還慢不少。 (研究一下描述符,你會發現python調用對象方法的開銷好大!)

但是python創始人說了, 一般程序的瓶頸在于20%的代碼, 所以你可以把那20%的代碼用C重寫(因為python是膠水語言,顧名思義,在多個語言之間左右逢源,游刃有余,用C重寫部分代碼當然很easy啦)

同時,你可以試試PyPy, 引入了JIT技術。

動態類型

有人說: 動態類型寫時爽, 重構起來是災難。

對于不寫unittest, 不做代碼覆蓋率測試的人來說, 動態語言當然是危險的, 拼寫錯誤都可能被隱藏, 重構?別搗亂!

python創始人有話說: "如果你認為編譯器可以幫你解決所有問題,那你一定干編程沒多久,不管什么程序,都需要寫testcase, 既然要寫testcase, 那么動態類型不是問題!”

Java

>>>優點 :

用幾個詞形容一下Java語言:優美,嚴謹,健壯,不易出錯。

當然,使用也非常的廣泛: 常年盤踞編程人員數量排行榜第一名!

各種庫也非常多: akullpp/awesome-java · GitHub

同樣的代碼, 相比C++(甚至python), Java代碼出BUG的概率要小點(當然,寫的時候一般會比python長)

Java從語言設計上盡量避免了程序員犯錯,比如自動垃圾回收, 拋棄無符號類型, 安全的枚舉,編譯期泛型檢查(Java1.5之后加入的泛型,但是只是用來做編譯器檢查,運行時跟以前一樣),強制的異常處理(遇到異常必須catch或者申明throws) 等等(當然,某些特性python也有)

Java標準庫和好多第三方代碼都充斥著濃濃的設計感!!!

各種設計模式到處可見。

從下面的語句可以看出一點來:

好多字, 看它們的:

C:

Python:

Java代碼多,但是API可復用行更強,選擇更多(我想一次讀完文件,不要buffer呢?)

因為健壯安全,所以Java成了企業級后臺的標準。想想銀行后臺, 關鍵地方出點bug可不得了。

>>>缺點 :

要敲好多代碼, 參考上面的例子…

沒有Python那些奇葩特性,靈活性不足,怎么寫你還是Java, 而Python可以寫的像Javascript/Lisp/Matlab…..

簡單來說, Python是給人設計的(人生苦短,請用Python), C/C++更像是為機器設計的,而Java則介于兩者之間。

如果你是高手,寫出的代碼沒什么bug,也不用怎么調試, 那推薦你用python(前提是他的慢你能忍受。 當然,高手眼里, 他會的就是最好的….)

如果你寫的代碼bug多,大部分時間在調試代碼,你可能需要了解一下Java, 或者寫足夠多的testcase。

以上就是小優分享給大家的

Python or Java

對于Java和Python,更多疑問or興趣

歡迎掃碼參加免費體驗課

IT行業大咖現場為你解答

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/177074.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息