1. ProgrammingPythonWas ist ein Python-Modul?

Von Alan Shovic, John Shovic

Für alle, die sich mit Python-Modulen beschäftigen, ist ein Modul eigentlich eine ziemlich einfache Sache. Tatsächlich ist ein Python-Modul nur eine Datei mit der Erweiterung .py, die Python-Code enthält. Das ist es. Wenn Sie also Python-Code schreiben und in einer .py-Datei speichern, haben Sie im Grunde ein Modul erstellt.

Das heißt nicht, dass Sie diesen Code immer als Modul verwenden müssen. Es kann sicherlich als eigenständige App behandelt werden. Wenn Sie jedoch Ihr eigenes Python-Modul mit nur Code erstellen möchten, den Sie häufig für Ihre eigene Arbeit benötigen, können Sie dies auf jeden Fall tun.

Programmierung von Python-Modulen

Ein Python-Modul ist auch nur eine Datei mit der Dateinamenerweiterung .py. Der Name des Moduls ist derselbe wie der Dateiname (ohne das .py). Wie jede .py-Datei enthält das Modul Python-Code. Angenommen, Sie möchten drei Funktionen zum Vereinfachen der Formatierung von Datums- und Währungsangaben verwenden. Sie können für jede Funktion einen beliebigen Namen festlegen. Für unser Arbeitsbeispiel verwenden wir diese drei Namen:

  • to_date (any_str): Ermöglicht die Übergabe eines beliebigen Stringdatums (any_str) im Format MM / TT / JJ oder MM / TT / JJJJ und sendet ein Python-datetime.date zurück, das Sie für Datumsberechnungen verwenden können. mdy (any_date): Ermöglicht die Übergabe eines beliebigen Python-Datums oder einer beliebigen Python-Datumszeit und gibt ein im Format MM / TT / JJJJ formatiertes String-Datum zur Anzeige auf dem Bildschirm zurück. to_curr (any_num, len): Ermöglicht die Übergabe einer beliebigen Python-Gleitkomma- oder Ganzzahl und gibt eine Zeichenfolge mit einem führenden Dollarzeichen, Kommas an Tausenden Stellen und zwei Ziffern für die Pennys zurück. Die Länge ist eine optionale Zahl für die Länge. Falls angegeben, wird der Rückgabewert links mit Leerzeichen aufgefüllt, um der angegebenen Länge zu entsprechen

Also hier ist der ganze Code dafür:

# Enthält benutzerdefinierte Funktionen für Datums- und Währungswerte.
importiere datetime als dt
def to_date (any_str):
"" Konvertieren Sie die Zeichenfolge mm / tt / jj oder mm / tt / jjjj in datetime.date oder in None, wenn das Datum ungültig ist. ""
Versuchen:
if len (any_str) == 10:
the_date = dt.datetime.strptime (any_str, '% m /% d /% Y'). date ()
sonst:
the_date = dt.datetime.strptime (any_str, '% m /% d /% y'). date ()
Ausnahme (ValueError, TypeError):
the_date = Keine
return the_date
def mdy (any_date):
"" Gibt ein String-Datum im Format MM / TT / JJJJ zurück. Geben Sie das Python-Datum oder das String-Datum im Format MM / TT / JJJJ ein. ""
if type (any_date) == str:
any_date = to_date (anydate)
# Vergewissern Sie sich, dass die Uhrzeit weitergeleitet wird
if isinstance (any_date, dt.date):
s_date = f "{any_date: '% m /% d /% Y'}"
sonst:
s_date = "Ungültiges Datum"
s_date zurückgeben
def to_curr (anynum, len = 0):
"" Gibt eine Zahl als String mit $ und Komma zurück. Die Länge ist optional. ""
s = "Ungültiger Betrag"
Versuchen:
x = float (anynum)
außer ValueError:
x = keine
wenn istinstanz (x, float):
s = '$' + f "{x:,. 2f}"
wenn len> 0:
s = s.rjust (len)
kehrt zurück

Sie können dieselbe Datei selbst erstellen und sie myfunctions.py nennen, wenn Sie mitlesen möchten. Beachten Sie, dass die Datei nur Funktionen enthält. Wenn Sie es ausführen, wird nichts auf dem Bildschirm angezeigt, da sich dort kein Code befindet, der eine dieser Funktionen aufruft.

Um diese Funktionen in einer Python-App oder einem Python-Programm zu verwenden, müssen Sie zunächst sicherstellen, dass Sie die Datei myfunc.py in denselben Ordner kopieren wie den Rest des Python-Codes, den Sie schreiben. Wenn Sie dann eine neue Seite erstellen, können Sie myfunc wie jedes andere Modul, das von jemand anderem erstellt wurde, als Modul importieren. Benutz einfach

importiere myfunc

Sie müssen den Modulnamen vor allen Funktionen verwenden, die Sie von diesem Modul aus aufrufen. Wenn Sie also den Code ein wenig lesbarer machen möchten, können Sie stattdessen Folgendes verwenden:

importiere myfunc als my

Mit dieser als Eröffnungszeile können Sie mit my auf jede Funktion in Ihrem benutzerdefinierten Python-Modul verweisen. als Präfix. Zum Beispiel my.to_date (), um die Funktion to_date aufzurufen. Hier ist eine Seite, die das Modul importiert und dann alle drei Funktionen mit meiner Syntax testet:

# Importiere den gesamten Code von myfunc.py als my.
importiere myfunc als my
# Benötigen Sie Daten in diesem Code
von datetime importiere datetime als dt
# Einige einfache Testdaten.
string_date = "31.12.2013"
# Konvertiert das Datum der Zeichenkette in datetime.date
print (my.to_date (string_date))
heute = dt.today ()
# Zeigt das heutige Datum im Format MM / TT / JJJJ an.
print (my.mdy (heute))
dollar_amt = 12345.678
# Diese große Zahl im Währungsformat anzeigen.
print (my.to_curr (dollar_amt))

Sie können das Präfix auch überspringen, wenn Sie Elemente nach Namen importieren. In diesem Fall können Sie also to_date () und mdy () und to_curr () aufrufen, ohne my zu verwenden. Präfix. Die erste Codezeile müsste sein

von myfunc import to_date, mdy, to_curr

Der Rest des Codes wäre derselbe wie im vorherigen Beispiel, außer dass Sie my weglassen können. Präfixe wie im folgenden Code:

# Importieren Sie den gesamten Code von myfunc.py nach Namen.
von myfunc import to_date, mdy, to_curr
# Benötigen Sie Daten in diesem Code
von datetime importiere datetime als dt
# Einige einfache Testdaten.
string_date = "31.12.2013"
# Konvertiert das Datum der Zeichenkette in datetime.date
print (to_date (string_date))
heute = dt.today ()
# Zeigt das heutige Datum im Format MM / TT / JJJJ an.
print (mdy (heute))
dollar_amt = 12345.678
# Diese große Zahl im Währungsformat anzeigen.
print (to_curr (dollar_amt))

Weitere Informationen finden Sie in diesen 10 erstaunlichen Python-Programmierressourcen.