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