Python和java的選擇
它是什麼?
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」。