它是什麼?
Java是一種通用的面向物件的程式語言,主要用於開發從移動應用程式到Web到企業應用程式的各種應用程式。
Python是一種高階的面向物件的程式語言,主要用於Web開發,人工智慧,機器學習,自動化和其他資料科學應用程式。
創作者
Java是由Sun Microsystems的James Gosling建立的。
Python由Guido van Rossum建立。
開源狀態:
Java是免費的(並且大多數情況下是開放原始碼),但公司用途除外。
Python是所有使用案例的免費開放原始碼。
平臺依賴性
Java的 WORA(“編寫一次,隨處執行”)哲學是平臺無關的(儘管JVM不是)。
Python是平臺相關的。
編譯或解釋
Java是一種編譯語言。 Java程式在編譯時而不是在執行時轉換為位元組碼。
Python是一種解釋型語言。 Python程式在執行時進行翻譯。
檔案建立
Java :編譯後,將生成<filename> .class 。
Python :在執行時,將建立<filename> .pyc 。
錯誤型別:
Java有 2 種錯誤型別:編譯和執行時錯誤。
Python有1種錯誤型別:追溯(或執行時)錯誤。
靜態或動態輸入
Java是靜態型別的。 在初始化變數時,需要在程式中指定其型別,因為型別檢查是在編譯時完成的。
Python是動態型別的。 變數在初始化時不需要指定型別,因為型別檢查是在執行時完成的。
句法
Java :每個語句都必須以分號( ; )結尾,並且程式碼塊之間用花括號( {} )分隔。
Python :程式碼塊由縮排分隔(使用者可以選擇使用多少個空格,但在整個塊中應保持一致)。
班數
Java : Java中的一個檔案中只能存在一個公共頂級類。
Python : Python中的單個檔案中可以存在任何數量的類。
程式碼量?
與Python相比, Java通常涉及編寫更多行程式碼。
與Java相比, Python需要編寫更少的程式碼行。
多重繼承
Java不支援多重繼承(從兩個或更多基類繼承)
Python支援多重繼承,儘管由於諸如繼承複雜性,層次結構,依賴性問題之類的各種問題而很少實現,但它卻很少實現。
多執行緒
Java多執行緒可以支援同時執行的兩個或多個併發執行緒。
Python使用全域性直譯器鎖(GIL),一次僅允許一個執行緒(CPU核心)執行。
執行速度
Java的執行時間通常比Python快。
Python的執行時間通常比Java慢。
Java的Hello World
public class Hello {
public static void main ( String [ ] args )
{
System .out . println ( "Hello Opensource.com from Java!" ) ;
}
}
Python中的Hello World
print ( "Hello Opensource.com from Java!" )
執行程式
要執行Java程式“ Hello.java”,您需要先對其進行編譯,這將建立一個“ Hello.class”檔案。 要僅執行類名,請使用“ java Hello”。 對於Python,只需執行檔案“ python3 helloworld.py”。