タプル( ''tuple'' )は、任意のオブジェクトをゼロ個以上、順次付けて保持できるコレクションです{{Cite web
|url=https://docs.python.org/3/reference/datamodel.html#the-standard-type-hierarchy
|title=3.10.1 Documentation » The Python Language Reference » 3. Data model ¶3.2. The standard type hierarchy
|date=2021/12/16
|accessdate=2021/12/16
。
リストとよく似た特徴がありますが、リストと違い生成後は内容が変更できない「イミュータブル」なオブジェクトです。
[https://paiza.io/projects/vTEeqnzuUltimZqcQoa2uQ?language=python3 タプルリテラル]:
tpl0 = ()
tpl1 = (10,)
tpl2 = 10, "ABC", 30
tpl3 = (1,"one"), (2,"two"),(3,"three")
tpl4 = (
    (1,"壱"),
    (2,"弐"),
    (3,"参")
    )
print(tpl0)
print(tpl1)
print(tpl2)
print(tpl3)
print(tpl4)
実行結果:
()
(10,)
(10, 'ABC', 30)
((1, 'one'), (2, 'two'), (3, 'three')) 
((1, '壱'), (2, '弐'), (3, '参'))
空のタプルは、空の括弧の組で作ることができます。
1つの項目からなるタプル（「シングルトン」(''singleton'')）は、式にカンマを付けることで形成されます（式はそれ自体ではタプルを作らないので、括弧 ( ) は式のグループ化のために使用可能でなければならないからです）。
2つ以上の項目からなるタプルリテラルは、カンマで区切られた式のリストで形成されます。
タプルリテラルに限らず、式を括弧 ( ) で括ると複数行に渡って書くことができます。
[https://paiza.io/projects/-HXcDCaVKbQVBCUGhdgIlg?language=python3 タプルと演算子]:
tpl = 10 ,"ABC" ,30
print(f'''\
{tpl=}
{tpl[1]=}
{tpl[-1]=}
{tpl + (2,3,4)=}
{tpl * 2=}
{2 * tpl=}
{tpl == (10 ,"ABC" ,30)=}
{tpl != (10 ,"ABC" ,30)=}
{tpl < (10 ,"ABC" ,30)=}
{tpl > (10 ,"ABC" ,30)=}
''')
実行結果:
tpl=(10, 'ABC', 30)
tpl[1]='ABC'
tpl[-1]=30
tpl + (2,3,4)=(10, 'ABC', 30, 2, 3, 4)
tpl * 2=(10, 'ABC', 30, 10, 'ABC', 30)
2 * tpl=(10, 'ABC', 30, 10, 'ABC', 30)
tpl == (10 ,"ABC" ,30)=True
tpl != (10 ,"ABC" ,30)=False
tpl < (10 ,"ABC" ,30)=False
tpl > (10 ,"ABC" ,30)=False
タプルの要素は、インデックス演算子で参照できますが、左辺値は得られません（イミュータブルなので）。
タプル内の要素の順位はリストと同じく、0番から始まります。
を表します。
タプル同士の足し算は、連結した新しいタプルを返します。
タプルtと整数nとの乗算は、tをn回繰り返したタプルを返します。
整数nとタプルtとの乗算は、tをn回繰り返したタプルを返します。
タプル同士は、比較や大小判別ができます。
[https://paiza.io/projects/sRJeH5PwizGAESfCE1Z_UA?language=python3 タプルのフィールド一覧]:
obj = tuple()
for i in dir(obj):
    print(i, eval(f"type({obj}.{i})"))
実行結果:
__add__ 
__class__ 
__contains__ 
__delattr__ 
__dir__ 
__doc__ 
__eq__ 
__format__ 
__ge__ 
__getattribute__ 
__getitem__ 
__getnewargs__ 
__gt__ 
__hash__ 
__init__ 
__init_subclass__ 
__iter__ 
__le__ 
__len__ 
__lt__ 
__mul__ 
__ne__ 
__new__ 
__reduce__ 
__reduce_ex__ 
__repr__ 
__rmul__ 
__setattr__ 
__sizeof__ 
__str__ 
__subclasshook__ 
count 
index 
メソッドセットはリストに準じますが、イミュータブルなので
append
clear
copy
extend
insert
pop
remove
reverse
sort
の9つのメソッドはありません。