Pythonでは、リスト内包表記のような形式でタプル内包表記を書くことができます。しかし、その結果はタプルではなくジェネレータになります。
g = (i for i in range(4))  # ジェネレータ
print(type(g))  # <class 'generator'>
タプルを生成するためには、ジェネレータ式をtuple()関数で囲む必要があります。
g = tuple(i for i in range(4))  # タプル
print(type(g))  # <class 'tuple'>
print(g)  # (0, 1, 2, 3)
このように、Pythonのタプル内包表記は実際にはジェネレータ式となり、タプルを生成するためにはtuple()関数を使用する必要があります。これはPythonの特性の一つであり、初学者にとっては少し混乱を招くかもしれませんが、理解することでPythonの内包表記の理解が深まります。