Mendefinisikan objek gabungan yang menampung tipe X, Y, dan seterusnya. X | Y berarti X atau Y. Ini setara dengan mengetik.Union[X, Y]. Misalnya, fungsi berikut mengharapkan argumen bertipe int atau float:
X | Y | ...
def square(number: int | float) -> int | float:
return number ** 2