Pythonプログラミングの「変数」「定数」のルール。
変数は何となく知ってたけど、定数は初めて知った。読み方も「ていすう」と思ってた。
変数は「値を記憶するメモリ領域」に名前を付けたものダヨ
まずはルールを覚えまショー
変数(へんすう・Variables)
識別子(Identifier)
変数名は英字またはアンダースコアで始まり、英数字とアンダースコアの組み合わせで構成されます。
数字で始めることはできません。
my_variable = 10
user_name = "real"
大文字小文字の区別
Pythonは大文字と小文字を区別します。
a_color = "Blue"
a_Color = "Red"
a_color
と a_Color
は異なる変数です。
予約語(Reserved Words)
予約語(キーワード)は変数名として使用できません。
予約語はあらかじめ意味が決められている言葉だから使わないデ~
例: if
, while
, class
など。
その他
変数の初期化
Pythonでは変数を宣言する必要がありません。
変数名を直接使用して値を代入できます。
color = 55
name = "real"
- 変数 color に 55 を代入
- 変数 name に real を代入
変数の型
Pythonは動的型付け言語であり、変数の型は値によって自動的に決まります。
例えば、整数を代入するとその変数は整数型、文字列を代入すると文字列型になります。
#整数型になる
my_integer = 10
#文字列型になる
my_string = "Hello"
変数の再代入
同じ変数に異なる値を代入できます。
my_variable = 10
my_variable = "Hello"
整数の入っていた変数に文字列を代入、、、危険な香りがする。。。
変数の利用
変数を使用して計算や出力を行えます。
x = 5
y = 3
z = x + y
print(z)
# 8 が表示される
定数(じょうすう・Constants)
Pythonには定数(変更不可な値)を直接定義する仕組みはありませんが、慣習的な方法がアリマス。
大文字
定数として扱う変数名を全て大文字で書くことがPythonの慣習です。
変数名を大文字で書くことで、他のプログラマーに「これは定数で変更しないでください」と伝えることができます。
PI = 3.14
GRAVITY = 9.8 # 定数を大文字で宣言
ただし、Pythonでは定数を強制的に守るための機能は提供されていません。
プログラム内で変数の値を変更できるため、定数として扱いたい変数に対して注意が必要です。
カプセル化
変数名の前にアンダースコアを付けて、アクセスを制限する方法もあります。
def__init__(self,name,age):
self._age = age
アンダースコアのついた変数に外部からアクセスしないようにします。
変数・定数とは?
変数とは?_「値を記憶するメモリ領域」に名前を付けたもの。よく「箱」に例えられる
プログラミング値を扱うときに値をそのまま数式に入れるより、中身を簡単に入れ替えることのできる変数を使ったほうが簡単に扱えます。
たとえば100に1~10回かける計算をかんがえてみると
100×1、100×2、100×3、・・・と繰り返すより
例A
print(100*1+100*2+100*3+100*4+100*5+100*6+100*7+100*8+100*9+100*10)
変数aを使い、100×aにして、aに1~100を代入したほうがシンプルで、同じことを繰り返し書かないで済む。
例B
a=0
for i in range(1,11):
a=a+100*i
print(a)
これなら、100回掛けても10000回掛けても見た目がシンプルで、間違いも少なくて済みそうです。
変数を利用するメリット
・見た目にシンプル
プログラムを見たときに、だれが見てもどういう処理をしているのか分かりやすくできる。
例Aの100000回処理バージョンとか見たくないです。
・間違いを減らせる
プログラムが短くてわかりやすいと、入力間違いなどを減らせる。
例Aの1000000回処理バージョンとか間違える気しかしないです。
・数字の変更が楽
変数に代入する値を変更するだけで、すべての処理内容を変更できる。
例Aの10000000回処理バージョンとか・・・、もうええか。
定数_変更しない値に名前を付けたもの
たとえば一つのプログラムを複数人で作るとき。
コードを書く人によって値の認識が違うと、プログラム全体としておかしくなります。
例A 昭和のおじさん
circle=3.141592653589
print(10*10*circle)
例B 令和のおにーちゃん
circle=3.14
print(10*10*circle)
計算結果がまるで違うものになるので、繰り返し同じ値を使ったり複数人で同じ値を扱う場合は、間違いのないように「定数」を使ったほうがよさそうです。
この場合、定数をPIにしてPI=3.14に決めておくといいですネ。
Javaの変数定数はこちら↓