Python データ型
Python データ型
このチュートリアルでは、Python で使用できるさまざまなデータ型について学習します。
Python のデータ型
Python のすべての値にはデータ型があります。 Python プログラミングではすべてがオブジェクトであるため、データ型は実際にはクラスであり、変数はこれらのクラスのインスタンス (オブジェクト) です。
Python にはさまざまなデータ型があります。重要なタイプの一部を以下に示します。
Python の数字
整数、浮動小数点数、および複素数は、Python の数値カテゴリに分類されます。それらは int
として定義されています 、 float
と complex
Python のクラス
type()
を使用できます 変数または値がどのクラスに属しているかを知る関数。同様に、isinstance()
関数は、オブジェクトが特定のクラスに属しているかどうかを確認するために使用されます。
a = 5
print(a, "is of type", type(a))
a = 2.0
print(a, "is of type", type(a))
a = 1+2j
print(a, "is complex number?", isinstance(1+2j,complex))
出力
5 is of type <class 'int'> 2.0 is of type <class 'float'> (1+2j) is complex number? True
整数は任意の長さにすることができますが、使用可能なメモリによってのみ制限されます。
浮動小数点数は、小数点以下 15 桁まで正確です。整数と浮動小数点は小数点で区切られます。 <サンプル>1サンプル> 整数、 1.0 は浮動小数点数です。
複素数は x + yj
の形式で記述されます 、ここで x は実部で y 虚部です。以下にいくつかの例を示します。
>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 1+2j
>>> c
(1+2j)
float
に注意してください 変数 b
Python リスト
リストは項目の順序付けられたシーケンスです。これは、Python で最もよく使用されるデータ型の 1 つであり、非常に柔軟です。リスト内のすべての項目が同じタイプである必要はありません。
リストの宣言は非常に簡単です。カンマで区切られた項目は括弧 [ ]
で囲まれています .
a = [1, 2.2, 'python']
スライス演算子 [ ]
を使用できます リストからアイテムまたはアイテムの範囲を抽出します。インデックスは Python では 0 から始まります。
a = [5,10,15,20,25,30,35,40]
# a[2] = 15
print("a[2] = ", a[2])
# a[0:3] = [5, 10, 15]
print("a[0:3] = ", a[0:3])
# a[5:] = [30, 35, 40]
print("a[5:] = ", a[5:])
出力
a[2] = 15 a[0:3] = [5, 10, 15] a[5:] = [30, 35, 40]
リストは変更可能です。つまり、リストの要素の値を変更できます。
a = [1, 2, 3]
a[2] = 4
print(a)
出力
[1, 2, 4]
Python タプル
タプルは、リストと同じ順序付けられた項目のシーケンスです。唯一の違いは、タプルが不変であることです。一度作成されたタプルは変更できません。
タプルはデータの書き込み保護に使用され、動的に変更できないため、通常はリストより高速です。
括弧内に定義されています ()
項目はコンマで区切られます。
t = (5,'program', 1+3j)
スライス演算子 []
を使用できます アイテムを抽出しますが、その値を変更することはできません。
t = (5,'program', 1+3j)
# t[1] = 'program'
print("t[1] = ", t[1])
# t[0:3] = (5, 'program', (1+3j))
print("t[0:3] = ", t[0:3])
# Generates error
# Tuples are immutable
t[0] = 10
出力
t[1] = program t[0:3] = (5, 'program', (1+3j)) Traceback (most recent call last): File "test.py", line 11, in <module> t[0] = 10 TypeError: 'tuple' object does not support item assignment
Python 文字列
文字列は Unicode 文字のシーケンスです。一重引用符または二重引用符を使用して文字列を表すことができます。複数行の文字列は、三重引用符 '''
を使用して表すことができます または """
.
s = "This is a string"
print(s)
s = '''A multiline
string'''
print(s)
出力
This is a string A multiline string
リストやタプルと同じように、スライス演算子 [ ]
文字列で使用できます。ただし、文字列は不変です。
s = 'Hello world!'
# s[4] = 'o'
print("s[4] = ", s[4])
# s[6:11] = 'world'
print("s[6:11] = ", s[6:11])
# Generates error
# Strings are immutable in Python
s[5] ='d'
出力
s[4] = o s[6:11] = world Traceback (most recent call last): File "<string>", line 11, in <module> TypeError: 'str' object does not support item assignment
Python セット
セットは、一意のアイテムの順序付けられていないコレクションです。セットは、中かっこ内のコンマで区切られた値によって定義されます { }
.セット内のアイテムは注文されていません。
a = {5,2,3,1,4}
# printing set variable
print("a = ", a)
# data type of variable a
print(type(a))
出力
a = {1, 2, 3, 4, 5} <class 'set'>
2 つの集合に対して和集合、交差などの集合演算を実行できます。セットには一意の値があります。重複を排除します。
a = {1,2,2,3,3,3}
print(a)
出力
{1, 2, 3}
セットは順序付けられていないコレクションであるため、インデックス付けは意味がありません。したがって、スライス演算子 []
は機能しません。
>>> a = {1,2,3}
>>> a[1]
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
TypeError: 'set' object does not support indexing
Python 辞書
ディクショナリは、キーと値のペアの順序付けられていないコレクションです。
通常、大量のデータがある場合に使用されます。辞書は、データを取得するために最適化されています。値を取得するには、キーを知っている必要があります。
Python では、辞書は中括弧内で定義されます {}
各項目は key:value
の形式のペアです .キーと値は任意の型にすることができます。
>>> d = {1:'value','key':2}
>>> type(d)
<class 'dict'>
key を使用して、それぞれの値を取得します。しかし、その逆ではありません。
d = {1:'value','key':2}
print(type(d))
print("d[1] = ", d[1])
print("d['key'] = ", d['key'])
# Generates error
print("d[2] = ", d[2])
出力
<class 'dict'> d[1] = value d['key'] = 2 Traceback (most recent call last): File "<string>", line 9, in <module> KeyError: 2
データ型間の変換
int()
のようなさまざまな型変換関数を使用して、さまざまなデータ型間で変換できます。 、 float()
、 str()
など
>>> float(5)
5.0
float から int への変換は、値を切り捨てます (ゼロに近づけます)。
>>> int(10.6)
10
>>> int(-10.6)
-10
文字列との変換には、互換性のある値が含まれている必要があります。
>>> float('2.5')
2.5
>>> str(25)
'25'
>>> int('1p')
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1p'
シーケンスを別のシーケンスに変換することもできます.
>>> set([1,2,3])
{1, 2, 3}
>>> tuple({5,6,7})
(5, 6, 7)
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
辞書に変換するには、各要素がペアである必要があります:
>>> dict([[1,2],[3,4]])
{1: 2, 3: 4}
>>> dict([(3,26),(4,44)])
{3: 26, 4: 44}
Python