Pythonのススメ1
はじめに
Pythonでプログラムを書くにあたり、文法や言語仕様などの個人的なメモを記載する。いくつか回数に分けて投稿することになると思う。
個人的なメモなので自分視点な構成になると思うが、もし誰かの役に立つなら嬉しい。
整数型:int
整数を扱うには整数型(int)を使う。主な演算子:
- 四則演算と剰余演算、累乗演算
サンプルプログラム(prog.py)
num1 = 10 num2 = 5 # 四則演算 print(num1 + num2) print(num1 - num2) print(num1 * num2) print(num1 / num2) # 累乗演算 print(num1 % num2) # 累乗演算 print(num1 ** 2)
サンプルプログラム(prog.py)実行結果
15 5 50 2.0 0 100
また、演算子「//」を使うと、除算をした時の小数点以下の値を切り捨てる。
以下のようにすると、コンソール上には「3」が表示される。
print(10 // 3)
動的型付け/静的型付け
Pythonは「動的型付け」の言語である。上記サンプルプログラムにて、変数の宣言として以下のように記載した。
Pythonの変数宣言例
num1 = 10 num2 = 5
動的型付けということはつまり、「実行されるときにはじめてその変数の型が決定される」ということである。
「動的」があるということは「静的」もある。
JavaやCなんかは静的型付けの言語である。
これらの言語では、変数の宣言時に、その変数の型を明らかにしないといけない。
Javaの変数宣言例
int num1 = 10 int num2 = 5
普段Javaでプログラムを書いている身からすると、その変数の型を指定しないのはなんだかむず痒い感じがするが、「型を意識しなくていい」というのは確かにそれはそれでメリットであると理解している。
doubleは無いの?
ひとことに「整数」といっても、例えばJavaでは、32bit長の整数値を使うときはint、64bit長の整数値を使うときはlongを宣言する必要がある。Pythonでもそういう使い分けは必要ないのかが気になったので、調べてみた。
結論から言うと、以下の通り。
・Python2
- 整数(int) と長整数(long)が明確に使い分けられていた。
・Python3
- 整数(int) と長整数(long)は統合され、すべて整数(int)として扱われるようになった。
Python2の場合
整数の最大値は、32bit環境の場合は「(2^31) - 1」、64bit環境の場合は「(2^63) - 1」。
長整数は、メモリが許す限り桁数に制限はなく、長整数同士の演算では計算誤差も生じない。
num_int = 100 num_long = 10000L #値の末尾に「L」をつけることで「これはlongだよ」と明示する。
Python3の場合
整数は、メモリが許す限り桁数に制限はなく、整数同士の演算では計算誤差も生じない。
num_int = 100 num_long = 10000 #Python2の場合と違い、値の末尾に「L」は必要ない。
終わりに
Pythonの整数型について、サンプルプログラムを交えながら、変数宣言の仕方や言語の仕様を記載した。今後は、浮動小数点型(float)や文字列型(str)などについても記載していく予定。
参考
Python入門 - 数値・文字列・型Python3の整数int型に最大値はない(上限なし) | note.nkmk.me