這裏是個人一些總結,有些是參考別人的(在這裏謝謝!!!)java
區別:python
1.Python比Java簡單,學習成本低,開發效率高
2.Java運行效率高於Python,尤爲是純Python開發的程序,效率極低
3.Java相關資料多,尤爲是中文資料
4.Java版本比較穩定,Python2和3不兼容致使大量類庫失效
5.Java開發偏向於軟件工程,團隊協同,Python更適合小型開發
6.Java偏向於商業開發,Python適合於數據分析
7.Java是一種靜態類型語言,Python是一種動態類型語言
8.Java中的全部變量須要先聲明(類型)才能使用,Python中的變量不須要聲明類型
9.Java編譯之後才能運行,Python直接就能夠運行;
10.JAVA 裏的塊用大括號對包括,Python 以冒號 + 四個空格縮進表示。
11.JAVA 的類型要聲明,Python 的類型不須要。
12.JAVA 每行語句以分號結束,Python 能夠不寫分號。
13.實現同一功能時,JAVA 要敲的鍵盤次數通常要比 Python 多。
一些細節區別:
1.數
python只有四種數據:整數,長整數、浮點數和複數
java則有char,short,byte,int,long,float,double類型
2. 字符串
2.1. 字符串表示
Python中沒有表示單個常量字符串類型的char類型,其能夠用單引號‘ ’或雙引號「 」來表示一個字符串,也能夠用三引號來表示一個多行字符串
Java中char表示單個字符,String表示一個字符串,常量字符或字符串用雙引號「 」表示
2.2. 多行字符串
Python在字符串末尾加上反斜槓(/)表示字符串在下一行繼續
Java用加號(+)表示字符串在下一行繼續
2.3. Python中其它的表示方法
Python中還有能夠在字符串前加前綴r或R:表示天然字符串,即不對字符串作轉移處理比java方便
Python能夠加前綴u或U:表示unicode字符串
注意: Python 中的__init__()方法相似與Java中的構造函數,Java構造函數中的self默認存在,不須要在構造函數聲明的時候進行顯示指明,可是Python須要在__init__()函數中顯示指明(可是ID調用時不用顯示進行self傳遞)。
3. 操做符
Python中**表示冪計算,若是 X**y表示 Xy
Python中//表示整除,即商的整數部分
Python中~表示按位翻轉,~x就是-(x+1)
4. 對象的序列化表示
Python中能夠使用str()或repr()函數來實現對象的序列化
Java中經過toString()方法來實現對象的序列化
注意:序列化 (Serialization)將對象的狀態信息轉換爲能夠存儲或傳輸的形式的過程。
函數