Python活用の基礎講座  ~スマホでPythonシリーズから抜粋~

Python活用の基礎講座  ~スマホでPythonシリーズから抜粋~

 

1.変数について

変数(variable)とは、各種データを扱うメモリ領域のことを指し、メモリ領域を変数という箱に例え、この箱の中に数字や文字列、日付などのデータを入れることができる。その箱の中のデータに応じ処理を選択し、箱の中のデータは演算や画面表示等、各種用途に使用される。

図.変数とは

Pythonでは、変数と変数の初期値を=(イコール)で繋ぐことで変数の宣言を行う。(変数名)=(初期値)の=は「等しい」という意味ではなく、「代入する」という意味である。また、Pythonは動的に型付けをしてくれるので、データ型の指定は不要である。

d1 = 500  # 変数宣言(変数d1は初期値500

print(d1)  # 実行すると画面に変数の中身である500を表示

d2 = '富士山'  # 変数宣言(変数d2は初期値'富士山'

print(d2)     # 実行結果として、画面に'富士山'が表示される

 

Pythonは、変数のみで宣言することは不可であり、必ず初期値を指定する必要がある。JavaScriptなど他の言語では、変数だけを宣言しておき中身は空にすることも可能だが、Pythonでは初期値なしの変数宣言を行うことはできない。

変数を宣言するための表現方法は複数あり、次のような記載をすることがある。

d0 = 1

d1 = d2 = 2

d3, d4 = 3,4

print(d0, d1, d2, d3, d4)

実行結果

1 2 2 3 4

 

もちろん、次のようにそれぞれ1つ1つ変数を宣言しても同様であり、見やすい書き方、意味のまとまりを考え使い分けることが重要となる。

d0 = 1

d1 = 2

d2 = 2

d3 = 3

d4 = 4

実行結果

1 2 2 3 4

 

次は変数の命名ルールについて復習する。Pythonで利用できる変数の命名ルールでは、文字にはアルファベット(大文字も小文字も可能)・数字(0~9)・_(アンダースコア)が基本となる。また、慣例的に変数の英語には小文字を使い、それ以外に日本語や特殊文字なども一部利用可能である。ただし、変数の先頭に数字を用いるのは違反であり、エラー(SyntaxError: invalid syntax)となる。

ab_c = 10

_b = 20

_12a = 30

1d_ = 100   # SyntaxError発生

001 = 200   # SyntaxError発生

 

Pythonでは定数という概念がなく、定数を定義するための書式は存在しない。Pythonでは変数を定数として扱う場合には、定数と変数を区別する方法がある。それは、変数を定数として扱う場合には、大文字のアルファベットで変数名を記載するというが習慣がある。もちろん、変数に大文字のアルファベットを用い命名してもエラー等の問題は発生しない。

num = 100    # 変数の定義⇒アルファベットの小文字

CONST = 200  # 定数の定義⇒アルファベットの大文字

 

また、Pythonにおける予約語(Pythonにおいて何らかの意味を持つ単語)は、もちろん変数名や関数名、クラス名などに使用することは不可でありエラーが発生する。次に予約語の一覧を示すコードを示しておく。

#python予約語一覧

import keyword

print (keyword.kwlist)

実行結果

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

 

Pythonの変数には文字型や数値型といった様々なデータ型が存在する。C言語などでは、値を代入する前にデータ型を事前に定義する必要があるが、Pythonでは自動的にデータ型が決定される。この自動的にデータ型が決定される仕組みを「動的型付け」と呼ぶ。動的型付けの仕組みとして、次の式で変数"d1" は数値型に。変数"d2" は文字型として扱われることになる。

a = 1

b = "Hallo world"

print(a, b)

実行結果

1 Hallo world

 

つまり、Pythonが動的型付け言語であるため、初期値「1」と「Hallow」という値をPython自身が何型であるかを判断することになる。次のサンプルコードの結果は51となる。

a = 1

b = 50

print(a+b)

実行結果

51

 

一方で、次のように記述すると、Pythonは変数"a"と変数"b"を文字列とみなし、加算ではなく「結合」することで、結果は「150」となる。

a = "1"

b = "50"

print(a+b)

実行結果

150

 

しかし、次のコードのように数値型と文字型では、データの型が異なるので、演算も結合もできずにエラーとなる。

a = 1       # 数値型

b = "2"     # 文字型

print(a+b)

実行結果

TypeError: unsupported operand type(s) for +: 'int' and 'str'

 

変数内のデータを削除するには、次のコードのように「del」を使用するが、変数内データの削除を行うことで、メモリが解放され、ptint()で表示させようとすると型が不明であることからエラーとなる。

dat = 10

del dat

print(dat)

実行結果

NameError: name 'dat' is not defined

このブログの人気の投稿

小論文 統計的因果推論の現場適用による排泄ケアの展望

排泄ケア相談員の育成に向けて

解説 排泄ケアの相談支援計画書作成のためのチェックリスト