いままでなんとなく見てよくわからないままにしていた Python コード中の省略記号、「...
」。シンタックスだと思ったらなんとオブジェクトだった。
>>> ...
Ellipsis
>>> type(...)
<class 'ellipsis'>
>>> dir(...)
['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
>>>
...
は Elipsis
といって、ellipsis
オブジェクトである。3つのドットは Elipsis を表す専用のリテラル表記。
特別なオブジェクトのリテラル表記にすぎないとわかった以上は、使いみちを理解すれば怖いものではない。