Pythonの変数・定数宣言と変数のデータ型の確認方法について

2021-03-03

Pocket

こんにちは、爽です。皆さん、いかがお過ごしでしょうか?

今回はPythonの変数宣言と変数の型の確認方法について確認します。
変数宣言はプログラミングの基本ともなりますので、ぜひ覚えて頂ければと思います。

■この記事の対象読者
・Pythonに興味がある方
・Pythonを学び始めてみたい方

それではどうぞ!

変数とは

変数とはプログラミング言語において、値を出し入れする為の箱とイメージしてください。
そして、この変数をプログラム上で使用可能とする行為を「変数の宣言」と呼び、変数に値を入れることを「宣言した変数に値を代入する」と表現します。
変数宣言の書式は以下の形です。

#変数宣言の書式
変数名 = 値

例えばPythonでは以下のようにすると、変数の宣言と値の代入を同時に行うことができます。

#変数宣言と値の代入
num = 1

この場合、"num"という変数に数字の1を入れています。

そして、前回紹介したJupyter上で、以下のように記述すると1が表示されます。

#変数宣言と値の代入
num = 1
#値の表示
num
>>1

もしくはprint関数を使っても同様の出力を得られます。

#変数宣言と値の代入
num = 1
#値の表示
print(num)
>>1

print関数は変数の中身を出力するだけでなく、普通の文字列もコンソール上に表示できます。

print("Hello World")

print関数は標準出力へメッセージを表示する関数でJavaのSystem.out.print関数と同じような役割です。
Jupyterでは変数名を記述するだけで変数の中身を取り出してくれるので、そんなに使い道がありませんが、他のIDE(統合開発環境)ではテストで変数の中に何が入っているかを知りたい場合はこのprint関数を使う必要があります。

なお、一度宣言した変数は他の値で上書きすることが可能ということもポイントです。
例えば、上記の例で"num"という変数に1を代入しましたが、次の行以降でnumという変数を10に上書き可能ということです。

#変数宣言と値の代入
num = 1
#numを10で上書き
num = 10
#値の表示
num
>>10

定数とは

変数に続いて、定数という概念にも触れたいと思います。
変数は上書き可能な箱でしたが、定数は上書き不可の箱のイメージです。
ただし、Javaでは変数名の前に"static final"をつけると上書き不可の定数になるのですが、Pythonでは定数宣言は不可です。
その代わり、変数名を全て大文字で宣言するとその変数は定数として扱うという暗黙のルールがPythonにはあります。
例えば、円周率なんかは3.141592…という普遍的なルールがありますよね。
このように万国で未来永劫変わることのないような値は定数として宣言することが多いです。

#円周率を定数として定義する
PI = 3.14

変数名と定数名に指定できない単語

基本的に変数名と定数名はどのような名前でも構いません。
極端な話、Pythonでは日本語でも変数名を指定できます。(ただし、変数名の日本語化は一般的ではありませんのですべきではありません。)

ただし、Pythonでは変数名の頭に数字を指定する場合と特定の単語(これを予約語と呼びます)を指定するとSyntaxErrorというエラーとなります。

#数字指定の場合
1num = 123

>> 1num = 123
     ^
SyntaxError: invalid syntax
#予約語指定の場合
if = True

>>if = True
       ^
SyntaxError: invalid syntax

予約語については、上記の例のような"if"や"for"、"with"など、Pythonを実装する上で必要となる単語なので、学んでいるうちに覚えることができます。
したがって、最初から予約語を覚える必要はありませんので、予約語という概念だけ覚えていただければ良いと思います。

Pythonにおける変数のデータ型の種類

PythonはJavaと異なり、変数宣言の前にデータ型を宣言する必要がありません。
データ型とは文字列や数値といった、データの形式のことです。
Pythonは変数宣言後、変数に代入した値によってその変数のデータ型が決まります。

Pythonは変数の前にデータ型を宣言しなくて良いので、コードがスッキリして読みやすいというメリットがありますが、一方で変数のプログラムを追わないとその変数が何のデータ型なのか分かりづらいというデメリットもあります。

Pythonでよく使われる変数のデータ型は以下の8種類となります。

■よく使われるPythonのデータ型

データ型説明記述例文
int型・小数点を含まない数値型(整数値)num = 1
float型・小数点を含む数値型
(浮動小数点)
num = 1.1
str型・文字列
・""(ダブルクオート)、もしくは''(シングルクオート)で囲って定義
str = 'Python'
bool型・True,Falseの真偽値hungry_flg = True
hungry_flg = False
list型・複数の要素を含むデータ型
・[]を使って定義し、各要素の間は,(カンマ)で区切る
・各要素の変更が可能
list = [1, "Python", False]
tupple型・複数の要素を含むデータ型
・()を使って定義し、各要素の間は,(カンマ)で区切る
・各要素の変更は不可
tupple = (1, "Python", False)
辞書型・複数の要素を含むデータ型
・{}の中にキー:(コロン)バリューの形で定義し、各要素の間は,(カンマ)で区切る
・各要素の変更が可能
dict = {
"name" : "man",
"age" :18,
"hungry" : True
}
set型・複数の要素を含むデータ型
・{}を使って定義し、各要素の間は,(カンマ)で区切る
・各要素の変更が可能
・各要素の重複を排除する
set = {1, 1, 2, 3, 4}

なお、これらの変数全種類を最初から全て覚えることは難しいので、ここではなんとなくの特徴を覚えておけば良いです。
このブログで一つずつ、各データ型について触れていきます。

Pythoonのデータ型の確認方法

Pythonで変数のデータ型を確認するには、type関数を用います。

type(変数名)

例えば、num = 1のデータ型をtype関数を用いて調べると以下のようにint、つまり整数型であることが分かります。

#変数宣言
num = 1
#変数のデータ型確認
type(num)
>>int

このtype関数を使うことで、テスト中に対象の変数のデータ型を調べることができるので便利です。

参考資料

UdemyのPython+FlaskでのWebアプリケーション開発講座!!~0からFlaskをマスターしてSNSを作成する~という講座と現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルという2つの講座を参考にさせていただきました。

Python+FlaskでのWebアプリケーション開発講座!!~0からFlaskをマスターしてSNSを作成する~

Udemyより抜粋

当講座は最低限のWeb開発の知識を知っていることが前提とはなりますが、とにかくPythonの説明とFlask開発の為の説明が充実しているのでおすすめです。
28時間に及ぶ長丁場の講座にはなりますが、絶対に聞く価値がある講座です。
これをマスターすればPythonでどんなアプリケーションでも作ることができると思います。

当講座のおすすめポイントを以下にまとめておきます。

当講座のおすすめポイント

とにかく説明が充実している

Webアプリ開発におけるフレームワークがなぜ有益なのか知ることができる

セキュリティ対策、Ajaxなどの技術も知れる

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

画像に alt 属性が指定されていません。ファイル名: a1ee3d048d6aa860662b6f58c4aa167f-1024x328.png

当講座はPythonの基礎から応用まで幅広く学べる講座なのでおすすめです。
この講座の講師はとにかくPythonについての知識が豊富ですし、話も適度な速さで聞き取りやすいです。さすがのシリコンバレーです。
また、最後の方に機械学習で使うライブラリについても解説があるので、データサイエンス・AIについても多少知ることができます。

当講座のおすすめポイントを以下にまとめておきます。

当講座のおすすめポイント

シリコンバレーで働いているということもあり、講師のPythonの知識が豊富

話も適度な速さで聞き取りやすい

コードの意味だけでなく、それをどう応用するかまで解説してくれる

なお、Udemyについては以下の記事でまとめていますのでご参考ください。

まとめ

ということで、今回はPythonの変数宣言と変数の型の確認方法を解説しました。
今回はそれほど難しい説明ではなかったので、特に補足説明は不要かと思いますが、一つ補足するとするならば、プログラミングはとにかく手を動かすことが何よりの近道です!
自分でAnacondaをインストールし、Python環境を構築することで、ぜひ実装してみることをおすすめします。
では、今回はここまでとさせていただきます。