Python言語の文法を、コードを書く流れに沿って説明していく連載。今回と次回は、値やデータの型を説明。今回はその前編として、bool型/int型/float型/str型を取り上げる。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
ご注意:本記事は、@IT/Deep Insider編集部(デジタルアドバンテージ社)が「deepinsider.jp」というサイトから、内容を改変することなく、そのまま「@IT」へと転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
前回はPython言語の基礎中の基礎とも言える「変数」と、Pythonの世界を構成する「オブジェクト」について解説した。今回は、基本的なデータの型である「bool型(ブール型)」「int型/float型(数値型)」「str型(文字列型)」について説明する。※脚注や図、コードリストの番号は前回からの続き番号としている。
本連載は、実際にライブラリ「TensorFlow」でディープラーニングのコードを書く流れに沿って、具体的にはLesson 1で掲載した図1-a/b/c/dのサンプルコードの順で、基礎文法が学んでいけるように目次を構成している。今回は、図1-b/d内の一部コードを取り上げる。
今回、本稿で説明するのは、図1-b/d【再掲】における赤枠内のコードのみとなる。青枠内のコードは次回説明する。
なお、本稿で示すサンプルコードの実行環境については、Lesson 1を一読してほしい。
Lesson 1でも示したように、本連載のすべてのサンプルコードは、下記のリンク先で実行もしくは参照できる。
それでは、bool型/int型/float型/str型を順に説明していこう。
変数には、前回Lesson 4で見たような「モジュール」だけでなく、「数値」「文章」「一覧データ」など、さまざまな値/データが代入できる。例えばリスト7は、前掲の図1-b/d内のサンプルコードの中にある「変数に対して何かを代入している行」(=冒頭で示した【再掲】画像の赤枠の内容)を抜き出して並べたものだ。
# 変数への「数値」の代入
EPOCHS = 500
# 変数への「文字列値」の代入
color = 'blue'
#color = 'red' # 同じデータ型なので説明省略
この例では、数値(500)と文字列値('blue')といいった値/データが変数に代入されている。この値/データの「種類」のことを型(type)と呼ぶ。Python言語に標準で組み込まれている型(=組み込み型:Built-in Types)には、主に以下のようなものがある(※すべてではなく、今回紹介する分のみ)。
それぞれ具体的なコードで示しながら説明していこう。
bool型(ブール型)
bool型は、前掲のリスト7に示した「変数への代入」としては記述されていないが、データの型としては使用されているので(例えば図1-bにあるFalse)、やはり知っておく必要がある文法要素の一つだ。bool型の性質を理解するためにも、ここでは仮のサンプルコードで説明しておこう。
is_a = True
is_b = False
is_b # Falseと出力される
リスト7-1の「真偽値」の代入をイメージで表すと、図9-1のようになる。
リスト7-1では、変数is_aと変数is_bにTrue(真=正しい)やFalse(偽=間違い)という値(略して「真偽値」)を設定(=代入)している。なお、この変数名のis_aとis_bには特別な意味はなく、「aかどうか」「bかどうか」という意味でこのような変数を自作した。
int型/float型(数値型)
int型は、前掲のリスト7のコードに含まれていた。その部分を抜き出したのがリスト7-2だ。
EPOCHS = 500
EPOCHS # 500と出力される
リスト7-2では、変数EPOCHSに500という整数値を設定している。ちなみにEPOCHS(エポック)とは、機械学習/ディープラーニングの専門用語で、詳しくは『初めてのニューラルネットワーク&ディープラーニング実装(TensorFlow 2+Keras(tf.keras)入門)』で説明する。ここでは内容は分からなくとも「エポック(学習回数)を500回に設定した」という意味だと理解しておいてほしい。
float型は、リスト7には含まれていないが、int型とほぼ同じと考えてよい。違いは、int型が整数のみを扱う型なのに対し、float型は実数(=整数も含めて、小数点が付く値)を扱う型である点だ。なお、float型の値は、厳密には「実数値」ではなく、プログラミング用語で浮動小数点数値と呼ぶ。浮動小数点数値とは、符号と指数と仮数を用いて表された実数値のことであるが、その内容を説明すると長くなってしまうので、ここでは説明を割愛する。「浮動小数点数値は、実数値と同等のもの」と考えておけば問題ない。
機械学習/ディープラーニングでは、int型よりも、float型の方をよく使う。
ここでも仮のサンプルコードで説明しておこう。
float_variable = 123.456
float_variable # 123.456と出力される
リスト7-3では、変数float_variableに123.456という数値を設定している。
str型(文字列型)
Copyright© Digital Advantage Corp. All Rights Reserved.