HOWTO · Python
Pi in Python verwenden
In diesem Tutorial verwenden wir den Pi-Wert in Python
Auf dieser Seite
Verwenden Sie math.pi aus der Python-Standardbibliothek, wenn Sie eine numerische Näherung von Pi benötigen. Verwendet eine Berechnung bereits NumPy-Arrays, passt numpy.pi zu diesem Kontext; für algebraische Ausdrücke, die symbolisch bleiben sollen, verwenden Sie sympy.pi. Dies sind Konstanten, keine aufzurufenden Funktionen. Die folgenden Beispiele zeigen, wann die jeweilige Form sinnvoll ist, worin sich die Winkelumrechnung vom Abrufen von Pi unterscheidet und warum eine selbst geschriebene Näherung vor allem zu Lernzwecken dient.
Pi mit Pythons Konstante math.pi abrufen
Das Standardbibliotheksmodul math ist die einfachste Wahl für gewöhnliche numerische Berechnungen und benötigt kein Drittanbieterpaket. Importieren Sie das Modul und lesen Sie anschließend math.pi direkt aus. Der Wert ist eine Gleitkommanäherung. Berechnungen erfolgen daher mit begrenzter Genauigkeit und nicht mit der exakten mathematischen Konstante.
Führen Sie dieses Beispiel aus. Die Codebezeichnung und die angezeigte Ausgabe bleiben auf Englisch:
import math
radius = 5
area = math.pi * radius**2
print(f"Area: {area}")
Area: 78.53981633974483
Hier wird die Kreisflächenformel πr² verwendet. Das Ergebnis ist eine numerische Näherung, da math.pi ein Gleitkommawert ist.
Schreiben Sie nicht math.pi(); mit den Klammern würden Sie versuchen, einen Wert aufzurufen, der keine Funktion ist. Für die meisten Skripte, die Pi als Zahl benötigen, ist math.pi die direkte Wahl.
NumPys Konstante pi für Array-Berechnungen verwenden
Wenn eine Berechnung ohnehin NumPy-Arrays verwendet, ist dessen Konstante pi zusammen mit den Array-Operationen von NumPy praktisch. Importieren Sie NumPy als np und verwenden Sie dann np.pi (auch numpy.pi genannt) ohne Klammern. Beispielsweise lässt sich ein Array mit Winkeln in Grad mit np.pi / 180 multiplizieren, um die Werte vor einer trigonometrischen NumPy-Operation in Radiant umzurechnen.
Dieses Beispiel rechnet drei Winkelwerte in einer Array-Berechnung von Grad in Radiant um. Der Code und die angezeigten Werte bleiben wie dargestellt:
Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.
import numpy as np
degrees = np.array([0, 90, 180])
radians = degrees * np.pi / 180
print(radians)
[0. 1.57079633 3.14159265]
NumPy ist eine Drittanbieterabhängigkeit und muss daher in der Umgebung installiert sein, in der das Skript ausgeführt wird. Für eine einzelne Skalarberechnung, die NumPy ansonsten nicht verwendet, kommt die Standardbibliothekskonstante math.pi ohne diese Abhängigkeit aus. numpy.pi steht für dieselbe geläufige numerische Konstante; ihr praktischer Vorteil ist die Einheitlichkeit mit arrayorientiertem Code, nicht eine andere Art von Genauigkeit.
pi von SymPy für symbolische Mathematik verwenden
Verwenden Sie SymPy, wenn ein Ausdruck für Algebra, Analysis oder Umformungen in exakter Form symbolisch bleiben soll, statt sofort zu einer Gleitkommaberechnung zu werden. Mit from sympy import pi, symbols bleiben Pi und das Symbol x im Ausdruck pi * x**2 in symbolischer Form erhalten. SymPy kann den Ausdruck dann mathematisch weiterverarbeiten; die Umwandlung in eine numerische Näherung ist ein separater Schritt.
Das unterscheidet sich von math.pi und numpy.pi, die numerische Gleitkommawerte sind. Auch SymPy ist eine Drittanbieterabhängigkeit. Wählen Sie sympy.pi, wenn symbolisches Verhalten wichtig ist, statt SymPy nur zu importieren, um einen numerischen Pi-Wert zu erhalten.
Grad mit math.radians in Radiant umrechnen
math.radians(degrees) rechnet einen in Grad angegebenen Winkel in Radiant um. Zum Beispiel ergibt math.radians(90) eine Gleitkommanäherung von π/2, während math.radians(180) eine Näherung von π ergibt. Dieser Zusammenhang ist bei der Umrechnung eines Winkels nützlich, aber nicht der übliche Weg, Pi abzurufen: Verwenden Sie math.pi, wenn Sie den Wert selbst benötigen.
Führen Sie dieses Beispiel aus. Die Codebezeichnung und die angezeigte Ausgabe bleiben auf Englisch:
import math
angle_degrees = 90
angle_radians = math.radians(angle_degrees)
print(f"Radians: {angle_radians}")
Radians: 1.5707963267948966
Für eine Folge von Winkeln in einem bestehenden NumPy-Arbeitsablauf bietet NumPy ebenfalls eine arrayorientierte Umrechnung von Grad in Radiant. Für einen einzelnen Winkel ist math.radians jedoch eine klare Wahl aus der Standardbibliothek.
Eine eigene Pi-Näherung für Lernbeispiele verwenden
Eine kurze Dezimalnäherung kann veranschaulichen, wie eine Konstante in einer Formel verwendet wird:
Führen Sie dieses Beispiel aus. Die Codebezeichnung und die angezeigte Ausgabe bleiben auf Englisch:
PI = 3.141592653589793
diameter = 10
circumference = PI * diameter
print(f"Circumference: {circumference}")
Circumference: 31.41592653589793
Die angegebenen Ziffern sind weiterhin nur eine Näherung mit endlicher Genauigkeit. Sie für die praktische Verwendung von Hand zu übernehmen, bringt keinen Vorteil. Bevorzugen Sie für gewöhnliche numerische Berechnungen math.pi; verwenden Sie einen eigenen Wert für Lernbeispiele zu Formeln, Konstanten oder zur Genauigkeit von Näherungen.