Python 與 Java 的語法比較
這篇是從國外一篇blog翻譯過來,雖然文章里面的個人看法有些偏激,但是確實有很多Python和Java的語法比較的內容,很適合像我這樣搞java轉Python的,權當是Javaer到Pythoner的快速入門吧:)
-----------------------------------------------------------------------------------------------------------------------
Java VS Python 生產效率 -概述
下面是3個主要的特性能夠讓Python程序員效率高于java程序員
Java </td> |
Python </td> </tr> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
靜態類型 在java里面所有的變量名稱(和他們的類型)必須被明確的定義,如果嘗試去將某個對象賦予錯誤的類型,只會引起類型異常。這就為什么說java是靜態語言。 java 集合對象(如:Vector和ArrayList)里面可以保存了通用類型對象,但是無法保存基本類型,如int等。要保存int到Vector,你必須 先要轉換int到Integer(注:這里指的1.5版以前的java)。同樣的,當你要從集合中取出一個對象時,已經不記得對象的類型,必須顯示轉換為 期望的類型。 |
動態類型 在Python里面,你不需要定義任何東西(注:這里主要指的還是變量)。賦值語句將對象賦給某個變量名,并且對象可以是任意類型。如果變量已經被賦予某個類型對象,之后還可以被賦予另外一個不同類型的對象。這就是為什么Python被稱為動態類型。 Python的集合對象(如:lists和dictionaries)里面可以保存任意類型的對象,包括數字和lists。當你從集合中取出一個對象是,他仍然記得這個對象的類型,所以無需進行類型轉換。 靜態類型vs動態類型的更多信息,看這里 |
</tr>
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
冗長 ”大量的語句;使用過程中很多語句并不是必須的” |
簡潔(簡練) 只需要幾個簡單的語句就可以表達很多。意味著清晰而簡潔,無需多余的語句就能完成目標。 |
</tr>
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
不緊湊 |
緊湊 在新的黑客字典里,Eric S. Raymond給予了“緊湊”這樣的定義: Compact adj. 在設計中,描述有價值的特性并能夠被人們立馬理解。 |
</tr>
</tbody>
</table>
Java </td> |
Python </td> </tr> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public class HelloWorld { public static void main (String[] args) { System.out.println("Hello, world!"); } }</td> |
print "Hello, world!" print("Hello, world!") # Python version 3</td> </tr> </tbody> </table>
例子 下面的例子里,我們初始化integer為0,再把他轉為string,最后檢查他是否為空。注意,數據的聲明在java里是必須的,但Python里不是。還會注意到即時只是在簡單的比較兩個字符串的時候,java代碼還是會顯得冗長。
|