【初学者向け】Python超入門⑤~データ型~

Python超入門
こんにちは、都内のスタートアップでデータ分析屋をしている、やじろべえ(@yajirobe_papa)です。
Python超入門第五回です。前回はPythonにおける変数について解説しました。
今回はデータ型について解説していきます。
Pythonに限らずプログラミング言語にはデータに応じて型が決められています。
Pythonではどんなデータがどのような型に当てはまるかを理解していきましょう!

目次

データ型とは

データ型とは、変数にデータを入れる種類のことで様々なデータ型があります。
代表的なものとして、数値型・文字列型・ブール型があります。
Pythonは動的型付け言語と呼ばれる言語で、変数にデータを入れる時にPythonが自動でデータ型を判断してくれるため、予めデータ型を指定する必要はありません。
変数に代入したデータのデータ型を確認するには、type(変数)で確認出来ます。
次の例では、変数iに数値の1を代入してデータ型を確認するコードです。
In [1]: i = 1
In [2]: type(i) 

 

実行すると”int”と返ってきました。intというのは数値型でかつ整数であることを表していて、ちゃんと代入した値のデータ型が確認出来ました。intについては次の数値型で解説しますので、ご安心ください。
Out[2]: int

 

数値型

Pythonの数値型は主に整数(int型)と浮動小数点(float型)があります。
変数に数値を代入すると数値型の内int型なのかfloat型なのかもPythonが自動で判断してくれます。
コードを書いて確認してみましょう。2つの変数iとjにそれぞれ数値の5と0.01を代入してみます。
In [3]: num01 = 5
In [4]: num02 = 0.2
In [5]: num03 = 0.03
データ型を確認してみると、ちゃんとint型とfloat型となっていることが確認出来ました。
In [6]: type(num01)
Out[6]: int

In [7]: type(num02)
Out[7]: float

In [8]: type(num03)
Out[8]: float

 

文字列型

文字列型はstring型とも呼ばれます。文字列型は文字列にしたい文字をダブルクォーテーション(” ”)またはシングルクォーテーション(’ ’)でくくります。
コードで確認してみます。
string_01という変数に”Hello Python”という文字列を代入します。
In [9]: string_01 = "Hello Python"
データが変数に入ってるか確認します。
In [10]: string_01 = "Hello Python"
Out[10]: 'Hello Python'

 

データ型を確認してみましょう。出力された結果を見てみると文字列型を示すstrという結果が表示されていますね。
In [11]: type(string_01)
Out[11]: str

 

最後に文字列の取扱いについて少し応用をしてみましょう。
  • 文字列の置換(replace関数)
文字列の一部分を置換する操作を行う際は、replace関数を使います。
replace関数の使い方は以下のようになります。
変数.replace(‘置換したい文字列’, ‘置換する文字列’)
早速コードで確認してみましょう。今回はstring_02という変数に文字列の”I love Python”を代入します。
In [12]: string_02 = "I love Python"

 

そして、replace関数を使って”I”を”We”に置き換えてみます。
In [13]: string_02.replace("I", "We")

 

実行してみると、ちゃんと置き換わっていることがわかります。
Out[13]: 'We love Python'

 

  • 文字列の削除(strip, lstrip, rstrip関数)
文字列の一部分を削除する操作を行う際は、strip関数を使います。
strip関数の使い方は以下のようになります。
変数.strip(‘削除したい文字列’)
早速コードで確認してみましょう。今回はstring_03という変数に文字列の”wHello Pythonw”を代入します。
In [14]: string_03 = "wHello Pythonw"

 

strip関数を使ってstring_03に含まれている”w”という文字を削除します。
In [15]: string_03.strip("w")

 

実行してみると、両端にあった”w”が削除されていることがわかります。
Out[15]: 'Hello Python'

 

また、strip関数は文字列の左端もしくは右端どちらかを指定して削除することもできます。使い方は以下の通りです。
左端の削除 : 変数.lstrip(‘削除したい文字列’)
右端の削除 : 変数.rstrip(‘削除したい文字列’)
早速コードで確認してみましょう。変数は先ほどと同じstring_03を使います。
In [16]: string_03 = "wHello Pythonw"

 

lstrip関数を使ってstring_03の左端にある”w”という文字を削除します。
In [17]: string_03.lstrip("w")

 

実行してみると、左端にあった”w”が削除されていることがわかります。
Out[17]: 'Hello Pythonw'

 

次にrstrip関数を使ってstring_03の右端にある”w”という文字を削除します。
In [18]: string_03.rstrip("w")

 

実行してみると、右端にあった”w”が削除されていることがわかります。
Out[18]: 'wHello Python'

 

ブール型

ブール型はBoolean型とも呼ばれ、真偽値のことを指します。
ブール型はTrueとFalseの2種類の値を持っています。
TrueとFalseとはある条件を満たすか満たさないかといった条件判定の時に使われます。言葉だけでは少しわかりくいのでコードを実際に見てみましょう。
二つの変数x, yにそれぞれ5と10を代入します。
In [19]: x = 5
	   y = 10

 

そして、比較演算子”<, >”を使って二つの値の大小を判定してみます。比較演算子については次回の講座で詳しく解説するのでここではそういうものがあるんだ程度に思っていただければと思います。
以下のコードを書いて「変数xはyよりも小さい」という条件をコンピュータに判定させます。
In [20]: x < y

 

結果を見てみると、Trueという値が返ってきて、条件は確からしいことがわかります。
Out[20]: True

 

次に「変数xはyよりも大きい」という条件をコンピュータに判定させます。
In [21]: x > y

 

結果を見てみると、Falseという値が返ってきて、作った条件は確からしくないことがわかります。
Out[21]: False

 

また、ブール型は整数型として振る舞うことも出来ます。コードを使って確認してみましょう。
まず変数b1, b2にTrueとFalseを代入します。
In [22]: b1 = True
In [23]: b2 = False

 

そして変数の前にintを付けて変数をカッコで括ってあげます。これはカッコ内の変数を数値のint型に変換する(キャストと呼んだりもします)ということを表しています。実行してみましょう。
In [24]: int(b1)
Out[24]: 1

In [25]: int(b2)
Out[25]: 0

 

すると、Trueは1に、Falseは0と結果が返され、確かにブール型は整数としても振る舞うことが確認出来ました
次に、cという変数に文字列の’True’を代入してint型に変換するコードを書いてみます。
In [26]: c = 'True'
Out[26]: ---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-12-089eb950f64f> in <module>
----> 1 int(c)

ValueError: invalid literal for int() with base 10: 'True'
このようにブール型はint型に変換出来るのは、ブール型が整数としても振る舞うことが認められているからです。
どんなものでもint型に変換出来るわけではありませんので注意してくださいね。

まとめ

今回はPythonにおけるデータ型について解説しました。
変数は処理する目的に応じてデータ型を使い分けることが基本ですので、是非これを機会にマスターしてくださいね!
次回はリスト型について解説していきます!
それではお疲れさまでした。
オンラインコース無料プレゼント!

Pythonの基本を学んだNextステップとしてデータ分析の基礎を学んでみませんか?

今回、Udemyのベストセラーコースになっているオンラインコースを今だけ無料プレゼントでプレゼントさせていただきます。

今すぐ登録してプレゼントを受け取ってくださいね。

それでは、コースでお待ちしております。

詳細はこちらから >>>

Python超入門入門記事一覧
やじろべえをフォローする
YAJIROBE BLOG
タイトルとURLをコピーしました