Python データ型
PythonはCやJavaなどの言語に比べて比較的簡単に習得できると言われています。
その理由が型を厳密に指定しなくても、Python側が自動で判別してくれる事が挙げられます。
ですが、データの型にどのようなものがあるのか理解しておくことは非常に大切で、型を理解せずプログラミングをし場合思わぬバグに遭遇することがあります。
この記事の著者 ->S.E; です。
メインとしている言語はPHPですが、この先、機械学習やAIなどで利用されているPythonを習得したいと考えています。
このページは「ゼロから始めるPythonプログラミング学習」としてPythonの基本的な部分から学習を始めたいと思います。
最終的にはWebでの利用やアプリの開発、機械学習、AI、簡単なゲームなどのプログラミングを目指したいと思います。
また、参考になる書籍なども紹介しています。
型の種類
Pythonで利用する主な型を紹介します。
分類 | 型名 | 内容 |
---|---|---|
数値 | int | 整数型 |
数値 | float | 浮動小数点数型 |
数値 | complex | 複素数型 |
データ | str | 文字列型 |
データ | bytes | バイナリデータ |
コンテナー | list | 順序ありリスト |
コンテナー | tuple | 順序ありリスト(変更できない) |
コンテナー | dict | キー / 値 |
コンテナー | set | 順序を持たない値の集合 |
その他 | bool | 論理型(True または False) |
その他 | NoneType | 値がない |
今回のデータ型では「int(整数型)」「str(文字列型)」「bool(論理型)」を紹介します。
int(整数型)
整数型は日常に利用している一般的な整数を表現します。
- 100(正数)
- -100(負数)
- 0(ゼロ)
などが挙げられます。これらは10進数と呼ばれ、10真数以外に16進数、8進数、2進数があります。
10進数 | -13、108、0 | 0〜9で整数を表す。 |
16進数 | 0xff、0xA3C1 | 0~9、a~f(A~F)で10~15を表現、接頭辞には「0x(ゼロ・エックス)」を付ける |
8進数 | 0o666、0o124 | 0~7で値そのものを表し、接頭辞として「0o(ゼロ・オー)」を付ける |
2進数 | 0b1101、0b100 | 0か1で数値を表し、接頭辞は「0b(ゼロ・ビー)」を付ける |
1 2 3 | >>> int = 123 >>> print(int) 123 // 結果 |
str(文字列型)
文字列を変数に代入するには、代入する文字列を「‘(シングルクォート)」もしくは「“(ダブルクォート)」で囲みます。
1 2 3 | >>> str = "文字列を代入" >>> print(str) 文字列を代入 // 結果 |
代入する文字列に「”」が含まれる場合は下記のように代入します。
1 2 3 | >>> str = '文字列を"変数"に代入' >>> print(str) 文字列を"変数"に代入 |
「“(ダブルクォート)」で囲んでしまうとエラーとなってしまいます。
1 2 3 4 5 | >>> str = "文字列を"変数"に代入" File "<stdin>", line 1 str = "文字列を"変数"に代入" ^ SyntaxError: invalid syntax |
特殊な表現
「’〜〜〜’」「”〜〜〜”」の他にPythonでは複数行を表示するための「”’〜〜〜”’」「“””〜〜〜“””」があります。
1 2 3 4 5 | >>> str = """文字列を ... 変数に代入""" >>> print(str) 文字列を 変数に代入 |
変数に代入時に改行したものが結果にも反映されています。
エスケープシーケンス
また、代入する文字列の中に「‘(シングルクォート)」「“(ダブルクォート)」両方含まれる場合は「\(バックスラッシュ)」を利用して「‘(シングルクォート)」「“(ダブルクォート)を開始もしくは終了の意味でないことを明示します。
1 2 3 | >>> str = '文字列を"変数"に\'代入\'する' >>> print(str) 文字列を"変数"に'代入'する // 結果 |
その他のエスケープシーケンス
エスケープシーケンス | 意味 |
---|---|
\\ | バックスラッシュを表示 |
\’ | シングルクォートを表示 |
\” | ダブルクォートを表示 |
\n | 改行を挿入 |
\r | 復帰を挿入 |
\t | 水平タブを挿入 |
bool(論理型)
論理型は「真(正しい)」か「偽(間違い)」かどちらかの値しか持ちません。
- 真(正しい)は True
- 偽(間違い)は False
と表現します。
変数に代入する値が「空」「0(ゼロ)」などの場合は False とみなされます。
変数に代入したものの真偽をbool関数(bool())を利用して確認してみます。
※bool関数は与えられた変数の真偽を確認し、真の場合は「True」偽の場合は「False」を返します。
1 2 3 4 5 6 7 | >>> int = 0 >>> print(bool(int)) False // 結果 >>> str = '文字列' >>> print(bool(str)) True // 結果 |
文字列型と整数型の違い
それでは、文字列型と整数型の違いを簡単に確認してみます。
変数i、n にそれぞれ1と4を代入していますが、上は「’」で囲み文字列として代入、下は整数として代入しています。それぞれ代入した変数同士を足し算した結果です。
1 2 3 4 5 6 7 8 9 10 11 | // 文字列として数字を代入 >>> i = '1' >>> n = '4' >>> n + i '41' // 結果 // 整数として代入 >>> i = 1 >>> n = 4 >>> n + i 5 // 結果 |
このように文字列の場合は変数の値が結合されたのに対して、整数として代入したものは通常の足し算が行われます。
データ型はある程度理解しておこう
変数に文字列や整数を代入する際、代入する変数の型は何かを意識して利用することが大切です。
S.E->お勧め記事;
- PHP フレームワーク Laravel ディレクティブ – ループ変数 $loop –
- CrowdWorks 提案後、受注に繋がりました。提案〜契約までの流れを解説
- macOS Monterey にアップデート後、composerやhomebrewでenv: php: No such file or directoryが出る
- PHPフレームワーク「Laravel」Bladeテンプレートを利用する
- Panic Nova 購入から1年が過ぎライセンスの更新時期の注意点
- PHPフレームワーク「Laravel」PHPテンプレートを利用する
- プログラマー になる為に必要な プログラミング以外 の知識・スキル
- CrowdWorks いつの間にか「プロクラウドワーカー」になっていた
- Shopify APIを利用して在庫管理を行う