言語レファレンス

データオブジェクト

Pythonのデータ型には以下の基本データ型があります。

int整数
bool真偽値のどちらかの値をとります
float倍精度浮動小数点の数値
complex倍精度浮動小数点型の複素数
str文字、文字列、ワード、テキスト
tuple二つ以上の任意のデータ型の要素からなるリスト
listリスト
dictkey-value形式でデータをストアします
set任意のデータでデータ形式を定義

Numberオブジェクト

Numberオブジェクトは数値型のデータを保持します。

  • Integer
  • bool
  • Float
  • complex
>>> a = 10
>>> type(a)
<class 'int'>
>>> a.bit_length()
4
>>> 

type()関数はtype()関数はオブジェクトの型を返します。

bit_length()はデータの値を表すのに必要なメモリのビット数を返します。

bool型のデータは真偽値のどちらかを返します。とりえる値は、True または Falseのどちらかです。

>>> b=True
>>> type(b)
<class 'bool'>
>>> b.bit_length()
1
>>> 

float型は倍精度浮動小数点の数値を保持します。

>>> c = 3.23
>>> d = 3.23/5
>>> type(d)
<class 'float'>
>>> d
0.646
>>> d.as_integer_ratio()
(5818650718562681, 9007199254740992)
>>> 

floatオブジェクトは内部で、バイナリフォーマットの形式で保持され処理されています。IEEE754 標準で定義されている64ビット倍精度の形式で処理されます。

n = (b1 * 2-1 )+ (b2 * 2-2 ) + (b3 * 2-3 ) + (b4 * 2-4 ) + ...

 関数 as_integer_ratio() は浮動小数点の数値を整数比で表示します。

>>> c = 1
>>> d = c / 2.0
>>> d
0.5
>>> type(d)
<class 'float'>
>>> d.as_integer_ratio()
(1, 2)
>>> 

シーケンスオブジェクト

シーケンスオブジェクトは非負の数値でインデックスされた連続したデータからなる一塊のデータオブジェクトです。

関数 len()はシーケンスを構成する要素の長さを返します。

  • str
  • tuple
  • list
  • dict
  • set

スライス

a[i:j] はiとjで挟まれたインデックスkで示されるすべての要素を選択します。 i<= j <= k

選択された要素のインデックスは0から再インデックスされます。

ステップパラメータ

a[I:j:k]は以下のインデックスで示される要素を選択します。 x = i + n*k, n >= (i <= x <= j )

I,j の間にある数値kで示すステップ数でインクリメントされる数値の全てを選択します。

Stringオブジェクト

Stringオブジェクトは文字列を扱います。連続したUnicodeの文字(U+0000 - U+10FFFF)のデータです。

 以下のビルドイン関数は型を変換します。

  • ord() String -> Integer
  • chr() Integer -> String
  • str.encode() String -> bytes
  • byte.decode() bytes ->String
>>> d1 = ord("A")
>>> d1
65
>>> 
>>> d2 = chr(d1)
>>> d2
'A'
>>>  
 
>>> d3 = d2.encode()
>>> d3
b'A'
>>> 
>>> d4 = d3.decode()
>>> d4
'A'
>>> 

以下のようなテキスト処理関数が定義さています。

関数
find()
replace()
split()
strip()
upper()
lower()
>>> s = 'this is a string.'
>>> s.split()
['this', 'is', 'a', 'string.']
>>> s.find('string')
10
>>> s.find('text')
-1
>>> s.replace(' ', '_')
'this_is_a_string.'
>>> s.strip(' a')
'this is a string.'
>>> s.strip('this')
' is a string.'
>>> s.upper()
'THIS IS A STRING.'
>>> 

tupleはコンマで区切るだけで、複数のオブジェクトを単一のオブジェクトとして扱います。

>>> t = (1,"test",1.2345)
>>> type(t)
<class 'tuple'>
>>> 

listオブジェクト

リストは[ ]内のコンマで区切られたデータ構造です。

基本動作はtupleオブジェクトと同様です。

>>> t = (1,"test",1.2345)
>>> type(t)
<class 'tuple'>
>>> 
>>> l = [2,"test2",2.3456]
>>> type(l)
<class 'list'>
>>> 
>>> l = list(t)
>>> type(l)
<class 'list'>
>>> l
[1, 'test', 1.2345]
>>> 

 str やtupleはimmutableシーケンスオブジェクトで、各要素のインデックスを含めて、一度生成されると、変更することができません。

 これに対してlistオブジェクトはmutableなオブジェクトで、内容を変更することができます。

関数処理
append()要素を追加する
extend()要素を拡張する。下の例を参照。
insert()引数で指定したインデックスの後ろに挿入する。
remove()要素を削除する
pop()インデックスで指定した要素を抜き取る。
>>> l
[1, 'test', 1.2345]
>>> 
>>> 
>>> l.append([4,'data2'])
>>> l
[1, 'test', 1.2345, [4, 'data2']]
>>> l.extend(['data3',5,678.45])
>>> l
[1, 'test', 1.2345, [4, 'data2'], 'data3', 5, 678.45]
>>> l.insert(4,'ins_data')
>>> l
[1, 'test', 1.2345, [4, 'data2'], 'ins_data', 'data3', 5, 678.45]
>>> l.remove('test')
>>> l
[1, 1.2345, [4, 'data2'], 'ins_data', 'data3', 5, 678.45]
>>> p = l.pop(2)
>>> l
[1, 1.2345, 'ins_data', 'data3', 5, 678.45]
>>> p
[4, 'data2']
>>> 
>>> l[1:3]
[1.2345, 'ins_data']
>>> l[1:5:2]
[1.2345, 'data3']
>>> l[1:6:2]
[1.2345, 'data3', 678.45]
>>> 

 リスト型のデータを操作する関数でデータを追加、削除できます。下側のブラケット[:],[::]はスライスとステップ操作をした時の結果です。

Dictオブジェクト

 DictはDictionaryのことで変更可能なシーケンス型のデータです。key-vlue形式で保持されます。

php等ではkey-value型のデータ型は連想記憶として定義されています。keyで設定、参照できるデータ型です。

 

>>> d = {
... "Name":"1302",
... "date":"2023-04-04",
... "open":123.0,
... "high":124.0,
... "low":122.0,
... "close":123.2,
... "volume":123233
... }
>>> type(d)
<class 'dict'>
>>> d["Name"]
'1302'
>>> d.keys()
dict_keys(['Name', 'date', 'open', 'high', 'low', 'close', 'volume'])
>>> d.values()
dict_values(['1302', '2023-04-04', 123.0, 124.0, 122.0, 123.2, 123233])
>>> d.items()
dict_items([('Name', '1302'), ('date', '2023-04-04'), ('open', 123.0), ('high', 124.0), ('low', 122.0), ('close', 123.2), ('volume', 123233)])
>>> 

Sets

任意のデータセットを作成します。各要素は一つだけ含まれます。

>>> s = set(['u','a','us','b','bi','d','u','a'])
>>> s
{'b', 'd', 'bi', 'us', 'u', 'a'}
>>> 

-言語レファレンス