Python のデータ型(前半)
こんにちは、切口太郎です。
今日は、Python の変数と型についてお話します。
Python は、クラスを作成することにより、無限大に型を増やすことができますが、基本の組み込み型について見ていきましょう。
Python には、7つの基本型があります。
1 数値型
2 文字型
3 ブール型
4 リスト
5 タプル
6 辞書
7 集合
今回は、1~3までを扱います。
1 数値型
数値の計算をするときに使用する数値用の型です。
Python では、数値計算目的でよく利用されます。インタープリター型の Python は実行速度がコンパイラー系の言語と比べて実行速度が遅いのですが、numpy という拡張パッケージを利用することにより、C言語で記述した数値計算プログラムと同程度の速度で演算できるようになります。
ここでは、numpy ではなくPython の基本的な数値について簡単な例を交えながらお話します。
100円の商品を購入した時に支払う金額を計算します。
>>> price=100
>>> tax=0.08
>>> print(price * (1 + tax))
108.0
>>>
|
次に半径 10 の円の面積を求めます。
>>> radius = 10
>>> pi = 3.14
>>> print ((radius ** 2) * pi)
314.0
|
数値型は、値の計算に利用できます。
数値型は、整数と浮動小数点の2種類があります。値が混在している演算を行うと、解は自動的に浮動小数点になります。
| 型 |
説明
|
関数
| 例 |
整数
|
負(マイナス)から正(プラス)の整数で、最小値、最大値はなし。
|
int(x)
|
123456789012345678901234567890123456
-123456789012345678901234567890123456
int(123456/1234)
int("123")
|
浮動小数点
|
倍精度浮動小数点数(64bit)
|
float(x)
|
-2.2
1.0037137318076885e+57
float(123455678/123)
float("123.123")
|
演算子の指定方法は次のとおりです。
a + b
|
加算
|
a - b
|
減算
|
a * b
|
乗算
|
a / b
|
除算
|
a % b
| 剰余 |
a ** b
| a の b乗 |
| a // b |
切り捨て除算
|
演算の優先順位は、数学と同じです。また () を使用して、演算順序を変更することができます。
2 文字型
Python は、数値演算の目的で利用する事が多いですが、WEBや業務ロジックなどのプログラミングは文字列操作を頻繁に行います。
文字列が扱いやすい言語は、業務のプログラムを書く時にとても便利です。
Python の文字列は、immutable (変更できない) タイプで、一度定義した文字列は変更ができません。
これは、通常プログラミングをして意識することは、ほとんどありません。
# フルネームを設定する
>>> full_name = "kirikuti tarou"
# フルネームを、スペースで単語単位に分割する
>>> name = full_name.split()
# 分割した始めの単語を表示
>>> print("last name : " + name[0])
last name : kirikuti
# 分割した2番めの単語を表示
>>> print ("first name : " + name[1])
first name : tarou
>>>
# フルネームが変更されていないか確認
>>> print (full_name)
kirikuti tarou
|
始めに、full_name の変数に名字と名前を1つの空白を入れて定義します。
その後に、split() メソッドで、文字列を単語単位に分解しますが、最後に、full_name 変数を表示しても文字列は分割されたりしていません。
Python の文字列は、split() のようなメソッドを利用して操作します。
型
|
説明
|
関数
|
例
|
文字
|
文字列を保持する。
文字列はリテラルで囲む
リテラルは、
1 ダブルクォーテーション
2 シングルクォーテーション
のどちらでも良い
|
str(x)
|
name = "kirikutuitarou"
flower = 'rose'
str(12345)
|
Python の文字列は、演算子を利用して演算することもできます。
| 演算子 |
説明
|
例
|
str1 + str2
|
文字列 str1 と str2 を結合します。
|
str1 = "abc"
str2 = "def"
str1 + str2 --> "abcdef"
|
str * 3
|
文字列 str を3回結合します。
|
str = "abc"
str * 3 --> "abcabcabc"
|
Python の文字列操作はメソッドを利用しても操作できます。
Pythonの文字型メソッド
lower
|
文字列の全ての文字を小文字にします。
|
str.lower()
|
upper
|
文字列の全ての文字を大文字にします。
|
str.upper()
|
count
|
文字列 str 内のitem文字列がある回数を数えます。
|
str.count(item)
|
find
|
文字列 str 内のitem文字列を先頭から探します。
|
str.find(item)
|
rfind
|
文字列 str 内のitem文字列をstrの後ろから順に探します。
|
str.rfind(item)
|
endwith
|
文字列 str の末尾に検索文字列 searchst であれば True になります。
|
str.endwith(searchst)
|
startwith
|
文字列 str の先頭に検索文字列 searchst であればTrueになります。
|
str.startwith(searchst)
|
index
|
find() と同じ。
|
str.index(item)
|
center
|
wの幅の空白文字列を作成して、その中央にstrがはいるようにする。(*1)
|
str.center(w)
|
rjust
|
wの幅の空白文字列を作成し、その右側に str が入るようにする (*1)
|
str.rjust(w)
|
ljust
|
wの幅の空白文字列を作成し、その左側に str が入るようにする (*1)
|
str.ljust(w)
|
replace
|
文字列内の文字列 before を検索し、文字列 after にすべて置き換える
|
str.replace(before, after)
|
split
|
文字列を st をセパレーターとして分割します。
|
str.split(st)
|
join
|
文字列をリスト要素とするリスト listの要素を文字列 str 挟み込んで連接します。(*2)
|
str.join(list)
|
(*1) 中央揃え、左寄せ、右寄せ
(*2) Join
>>> full_name
'kirikuti tarou'
>>> add=("aa" , "bb")
>>> full_name.join(add)
'aakirikuti taroubb'
|
3 ブール値
ブール値は数値型の一種ですが、真(True) と 偽(False) の2値のどちらかの値を取ります。
型
|
説明
|
関数
|
例
|
Bool
|
値は TrueかFlase のみ
|
bool(x)
|
bool(True)
bool(1)
bool(False)
bool(0)
|
True / Falseは、Python で定義されているので、そのまま利用できます。
また、bool は、数値型なので、bool(1) は、bool(True) と同じです。 bool(0) は bool(Flase) と同じです。
次回は、リスト、タプル、辞書、集合についてです。

コメント
コメントを投稿