1. ホーム
  2. python

[解決済み] Pythonでellipsis slicing syntaxを使うにはどうしたらいいですか?

2022-04-20 10:11:11

質問

で出てきたものです。 Pythonの隠れた機能 しかし、その機能がどのように動作するかを説明する良いドキュメントや例を見ることができません。

どのように解決するのですか?

Ellipsis または ... は隠された機能ではなく、ただの定数です。これは、例えばjavascript ES6のように、言語構文の一部であるのとは全く異なります。組み込みのクラスやPythonの言語定数は、これを利用しません。

つまり、この構文は、あなたや他の誰かがそれを理解するためにコードを書いたかどうかに完全に依存しているのです。

Numpyがこれを使用しているのは ドキュメント . いくつかの例 こちら .

自分のクラスでは、こんな風に使う。

>>> class TestEllipsis(object):
...     def __getitem__(self, item):
...         if item is Ellipsis:
...             return "Returning all items"
...         else:
...             return "return %r items" % item
... 
>>> x = TestEllipsis()
>>> print x[2]
return 2 items
>>> print x[...]
Returning all items

もちろん Pythonドキュメント を、そして 言語リファレンス . しかし、それらはあまり役に立ちません。