python_インクリメント演算子_++_--_memo

 

javascript, javaなどだと


数値、特に整数を保持する変数自体の値を

増加、減少させるときには


インクリメント演算子を使うことが多いですが


var a = 0;

a++;

a++;

a--;


console.log(a);


で、pythonの場合はどうでしょうか?

インクリメント演算子は使えるのでしょうか?



Python には **インクリメント (`++`) や

デクリメント (`--`) 演算子が存在しません**。


その代わりに、`+=` や `-=` を使って変数の値を増減させます。



例えば、JavaScript の以下のコード:


```javascript


var a = 0;

a++;

a++;

a--;

console.log(a); // 1


```

を Python で書き換えると、次のようになります。


```python


a = 0

a += 1  # a を 1 増やす

a += 1  # a を 1 増やす

a -= 1  # a を 1 減らす


print(a)  # 1


```


### なぜ `++` や `--` がないのか?


Python の設計思想として、

**明確でわかりやすいコードを重視している**ため、

`++` や `--` のような省略形は導入されていません。


また、Python では整数 (`int`) は 

**イミュータブル(変更不可)なオブジェクト** なので、

`++` のような演算子があったとしても 

C や Java のような動作にはならないという背景もあります。




### `+=` の動作について


`a += 1` は `a = a + 1` と同じ意味ですが、

可読性を高めるためによく使われます。



同様に、減算する場合は `a -= 1` を使います。



### まとめ


- `++` や `--` は **Python には存在しない**。


- 代わりに `+= 1` や `-= 1` を使う。


- Python は「わかりやすさ」を重視しているため、

シンプルな記述を推奨している。



もし Python の変数操作の仕組みについて

もっと詳しく知りたいなら、


`id()` 関数を使ってオブジェクトの

メモリアドレスを確認しながら学ぶのも面白いですよ!


コメント