Ellipsenobjekt in Python
- Verwenden Sie Auslassungspunkte als Platzhalter für ungeschriebenen Code
-
Verwenden Sie Auslassungspunkte als Ersatz für das Schlüsselwort
pass
-
Verwenden Sie Ellipse beim Schneiden eines mehrdimensionalen
numpy
-Arrays - Verwenden Sie Auslassungspunkte für Typhinweise
- Abschluss
Als erfahrener Python-Entwickler sind Sie vielleicht schon auf das Ellipsenobjekt mit den drei Punkten ...
in Python gestoßen. Wenn Sie versuchen, dies im Python-Interpreter zu drucken, werden Auslassungspunkte angezeigt.
Dieses Tutorial demonstriert die Verwendung des Ellipsen-Objekts in Python.
Verwenden Sie Auslassungspunkte als Platzhalter für ungeschriebenen Code
Das Ellipsenobjekt kann auf verschiedene Weise verwendet werden. Es fungiert hauptsächlich als Platzhalter für ungeschriebenen Code.
Angenommen, wir arbeiten in einem Team und müssen Funktionen und Klassen definieren. Wir definieren die Funktionen und die Klasse, sind uns aber des Codes nicht sicher, also platzieren wir die drei Punkte (Ellipse) an Ort und Stelle.
Dadurch wird verhindert, dass der Python-Interpreter Ausnahmen auslöst.
Siehe Code unten.
def fun():
...
print("Use of ellipsis.")
Ausgang:
Use of ellipsis.
Das obige Beispiel zeigt, dass wir das Ellipsen-Objekt als Platzhalter für den ungeschriebenen Code in der Methode fun()
platzieren.
Verwenden Sie Auslassungspunkte als Ersatz für das Schlüsselwort pass
Das Schlüsselwort pass
wird in Python verwendet, wenn wir eine Codezeile hinzufügen, aber nichts ausführen möchten. Aus diesem Grund wird es als Platzhalter für ungeschriebenen Code verwendet.
Wie bereits erwähnt, können wir das Ellipsenobjekt als Platzhalter für ungeschriebenen Code verwenden; Daher können wir es als Ersatz für das Schlüsselwort pass
verwenden.
Wir können dies im folgenden Beispiel sehen.
def fun1():
...
def fun2():
pass
print("Use of ellipsis.")
Ausgang:
Use of ellipsis.
Das obige Beispiel zeigt, dass die beiden Funktionen pass
und Ellipse als Platzhalter für ungeschriebenen Code verwendet haben, was zeigt, dass wir pass
durch das Objekt Ellipse
ersetzen können.
Verwenden Sie Ellipse beim Schneiden eines mehrdimensionalen numpy
-Arrays
Eine weitere wichtige Verwendung dieses Objekts ist das Schneiden.
Slicing bezieht sich auf die Technik, Teile von Elementen aus einem Objekt basierend auf ihren Indizes zu extrahieren. Dies geschieht in eckigen Klammern.
Wir können auch Slicing auf mehrdimensionalen Arrays durchführen, aber wir müssen auf die Gesamtdimensionen im Array achten. Die Ellipse kann als Platzhalter in Slice-Ausdrücken verwendet werden, um die angegebene Dimension zu ignorieren.
Betrachten Sie den folgenden Code.
import numpy as np
arr = np.array([[7, 5, 2, 3], [1, 8, 9, 2], [3, 2, 1, 0]])
print(arr[:, 2])
print(arr[..., 2])
Ausgang:
[2 9 1]
[2 9 1]
Beachten Sie im obigen Beispiel, wie dasselbe Ergebnis für verschiedene Slicing-Ausdrücke zurückgegeben wird. Die Ellipse als Platzhalter in einem Slice-Ausdruck ist sehr hilfreich.
Der Ausdruck arr[...,2]
kann umgewandelt werden in arr[ : ,2]
für zweidimensionale Arrays, arr[ :, : , 2]
für dreidimensionale Arrays und so weiter.
Verwenden Sie Auslassungspunkte für Typhinweise
In Python 3.5 und höher wurde eine weitere Verwendung für dieses Singleton-Objekt eingeführt.
Type Hinting ermöglicht es uns, die Typen für Variablen, Parameter und Rückgabewerte zu deklarieren. Wir können Auslassungspunkte in Typhinweisen verwenden, um nur einen Teil des Typs bereitzustellen.
Wir können es wie Tuple[int, ...]
, Callable[...,int]
und mehr verwenden, um die Eingabe von Hinweisen zu unterstützen.
Abschluss
Abschließend haben wir das Ellipsenobjekt in Python und seine Verwendung besprochen. Es wird häufig als Platzhalter für ungeschriebenen Code in Funktionen und Klassen verwendet.
Wir können es auch als Platzhalter beim Slicing verwenden, um mehrere Dimensionen zu ignorieren. Python 3.5 führte eine neue Methode zur Verwendung von Ellipsen in Typhinweisen ein.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn