加算
5 + 3
8
除算
5 / 3
1.6666666666666667
べき乗1
2 ** 128
340282366920938463463374607431768211456
大きな桁でも計算可能です.実はこれって結構すごい機能です.Python では利用可能なメモリの範囲内で大きなサイズの整数を扱うことができます.他の多くのプログラミング言語では32ビット(およそ42億が最大)や64ビット(およそ1844京が最大)の制限を超える整数を扱おうとするとオーバーフローのエラーが発生します.また MS-Excel のような表計算ソフトウェアでも巨大な整数を扱うことはできません.試しに,MS-Excel で 「= 2 ^ 128」や「= 2 ^ 1023」,「= 2 ^ 1024」を計算してみよう.
べき乗2
2 ** 1024
179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216
ゼロでは割れないのでエラーが表示されます.エラーが表示されたときに英語のエラーメッセージを読み解くように心がけよう.
0で除算
5 / 0
--------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last) <ipython-input-22-05a3a5f597d2> in <module>() ----> 1 5 / 0 ZeroDivisionError: division by zero
優先順位は数学と同じです.
優先順位1
1 + 2 * 3
7
次のコードは上のコードと同じ結果になりますが,スペースの入れ方が異なります.スペースを適切に配置する事で,優先順位が(人間にとって)識別しやすくなるという利点があります(もちろんプログラムの動作に影響はありませんが).詳細は PEP 8 - Style Guide for Python Code の Other Recommendations を参照してください.
優先順位1(書き方の違い)
1 + 2*3
7
優先順位を指定するには ( )
を使います.
優先順位2
(1+2) * 3
9
数学の記述方法と異なり,優先順位を多数指定するときにもすべて ( )
を使い,優先順位の指定に [ ]
や { }
は使用しません.
優先順位3
((1+2) * 3) / 4
2.25
1, 2,..., 6 の平均を求めよう.
平均
(1+2+3+4+5+6) / 6
3.5
なお,Jupyter Lab や Jupyter notebook では最後に返された結果を特殊変数 _
(アンダースコア) で取り出すことができます.つまり,最後の結果は平均を求めた 3.5 を再利用できます.
直前の式の値を取り出して利用する
_ * 10
35
直前の結果は _
で取得できたが,2つ前の結果は __
(2個のアンダースコア)で取得できます.1つ前の結果が 35 で,2つ前の結果は 3.5 であることから 3.5 * 35 = 122.5 になります.
直前の式の値を取り出して利用する
__ * _
122.5