【Python】変数と定数についてC#と比較して理解する

python Python

変数の宣言と代入

C#では以下のように、変数の型 変数名 = 値の形式で宣言と代入を行いますが、Pythonは動的な型付言語なので、変数の型は記載せず変数名 = の形式で宣言と代入を行います。

C#
int foo = 123;
Python
foo = 123
print(type(foo)) # <class 'int'>

bar = 123.4
print(type(bar)) # <class 'float'>

変数名のつけ方

C#はローカル変数の命名規則は、基本的に先頭小文字で単語の区切りで大文字にすることが多いです。
Pythonではすべて小文字で、単語の区切りは_で区切ります。

C#
int testVariable = 123;
Python
test_variable = 123

定数の宣言と代入

C#ではconstやreadonlyを付けることで定数を実現します。
しかし、Pythonでは定数がサポートされていません。
そのため、Pythonでは、定数名をすべて大文字(単語の区切りは_で区切る)で命名することにより、見分けるようにします。(運用でカバー的な)
※ 命名規則的にはC#と変わらないですが、言語としてサポートしているかの違いです。

C#
const int CONSTANT_VALUE = 123;
Python
CONSTANT_VALUE= 123

# 書き換えられちゃうけど、プログラマが名前を見て書き換えないように
CONSTANT_VALUE= 456

コメント