859 Stimmen

Was macht das Ellipsis-Objekt?

Beim untätigen Surfen im Namensraum fiel mir ein seltsam aussehendes Objekt namens Ellipsis Es scheint nichts Besonderes zu sein oder zu tun, aber es ist ein global verfügbares Builtin.

Nach einer Suche fand ich, dass es in einigen obskuren Variante der Slicing-Syntax von Numpy und Scipy verwendet wird... aber fast nichts anderes.

Wurde dieses Objekt der Sprache speziell zur Unterstützung von Numpy + Scipy hinzugefügt? Hat Ellipsis überhaupt eine generische Bedeutung oder Verwendung?

D:\workspace\numpy>python
Python 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> Ellipsis
Ellipsis

5voto

prosti Punkte 34344

Dies ist gleichbedeutend.

l=[..., 1,2,3]
l=[Ellipsis, 1,2,3]

... ist eine Konstante, die innerhalb von built-in constants .

Ellipsis

Dasselbe wie das Ellipsis-Literal "...". Spezieller Wert, der meist in Verbindung mit der erweiterten Slicing-Syntax für benutzerdefinierte Container-Datentypen verwendet wird.

2voto

Aseem Bansal Punkte 6464

Der Verwendungszweck sollte nicht nur für diese Module von Drittanbietern sein. Es wird in der Python-Dokumentation nicht richtig erwähnt (oder vielleicht konnte ich es nur nicht finden), aber die Auslassungspunkte ... wird in CPython tatsächlich verwendet an mindestens einer Stelle.

Es wird zur Darstellung unendlicher Datenstrukturen in Python verwendet. Ich bin auf diese Notation gestoßen, als ich mit Listen herumspielte.

Siehe diese Frage für weitere Informationen.

2voto

user4344 Punkte 171

Sur tippt ... wird verwendet, um die erforderlichen Parameter zu erstellen: Die Argument Klasse erwartet einen Standardwert, und wenn Sie die ... wird es sich beschweren, wenn der Benutzer das betreffende Argument nicht übergibt.

Sie könnten verwenden None für dasselbe, wenn Ellipsis nicht anwesend war, aber dadurch würde die Möglichkeit entfallen, dass None es den Standardwert, falls das in Ihrem Programm sinnvoll ist.

2voto

Irrer Polterer Punkte 71

FastAPI verwendet die Ellipsis zur Erstellung der erforderlichen Parameter. https://fastapi.tiangolo.com/tutorial/query-params-str-validations/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X