1、JAVA的自增、自減語法python
//對自增(減)變量來講,"a++"和"++a"是同樣的 int a = 100; System.out.println("a:" + a); a++; System.out.println("a:" + a); //輸出自加後的結果:101 int c = a++; //先賦值再自加,c的結果:101,a的結果102 System.out.println("a:"+a+" c:" + c); c = a + 1; //這個是正常的運算 System.out.println("a:"+a+" c:" + c); int d = ++a; //先自加再賦值,d的結果爲103,a的結果爲103 System.out.println("a:"+a+" d:" + d);
Python中是沒有++和--的。那麼要實現自增和自減的話,可使用以下操做:ide
a = a + 1 或 a += 1
緣由是python中的數字類型是不可變數據。也就是數字類型數據在 內存 中是不會發生改變,當變量值發生改變時,會新申請一塊內存賦值爲新值,而後將變量指向新的內存地址。
因此對於python來講,是沒有自增一說的。性能
>>> a = 10 >>> id(a) 140530470127960 >>> a += 1 >>> id(a) 140530470129080
+= 是改變變量,至關於從新生成一個變量,把操做後的結果賦予這個新生成的變量。
++ 是改變了對象自己,而不是變量自己,即改變數據地址所指向的內存中的內容。code
int理論上是每次賦值都建立一個新對象的。可是因爲使用頻繁,爲了提高性能避免浪費,全部 python 有個 整數池,默認 [-5, 256] 的數字都屬於這個整數池,這些每次賦值的時候,是取得池中的整數對象。可是其餘的除外,以下:對象
>>> a = 5 >>> b = 5 >>> id(a) 140530470128360 >>> id(b) 140530470128360 >>> a is b True >>> c = 257 >>> d = 257 >>> id(c) 140530470136432 >>> id(d) 140530470136408
有時候在 Python 中看到存在 ++i 這種形式,這其實不是自增,只是簡單的表示正負數的正號而已。正正得正,負負得正,因此 ++i 和 --i 都是 i 。內存
在Go中 ++ 和 -- 只能做爲語句而非表達式。it
示例:class
a := 1 a ++ // 注意:不能寫成 ++ a 或 -- a 必須放在右邊使用 // b := a++ // 此處爲錯誤的用法,不能寫在一行,要單獨做爲語句使用 fmt.Println(a) // 2