Python from Scratch - Funktionen und Module

Willkommen bei der Python from Scratch-Serie. In der vorherigen Lektion haben wir gelernt, wie Sie mit Variablen und Kontrollstrukturen Daten speichern und bearbeiten. Lesen Sie es sich unbedingt durch, wenn Sie eine Auffrischung benötigen!


Videoanleitung


Abschrift

In dem heutigen Tutorial werden wir uns Funktionen ansehen - was sie sind, wie sie funktionieren und wie Sie Ihre eigenen erstellen können. Wir werden auch einige der integrierten Funktionen überprüfen und deren effektiven Gebrauch machen. Zum Schluss betrachten wir das Erstellen und Importieren von Modulen.


Funktionen - Schreiben Sie Ihre eigenen

Funktionen sind ein wichtiger Schritt, wenn Sie die Programmierung komplexer gestalten. Wenn eine Variable ein benannter Container für Daten ist, ist eine Funktion ein benannter Container für einen Codeblock, der bei Bedarf ausgeführt werden kann. Dies ist nützlich, wenn Sie ein Programm haben, das eine bestimmte Operation viele Male ausführt. Anstatt den Code zu kopieren und einzufügen, um diese Operation in jedem Abschnitt auszuführen, wo er benötigt wird, können Sie einfach eine einzige Funktion schreiben, um sie für Sie auszuführen.

Eine Funktion ist ein benannter Container für einen Codeblock.

Es gibt zwei Arten von Funktionen: diejenigen, die Sie selbst schreiben und in Ihren Code aufnehmen, und diejenigen, die nativ in Python enthalten sind und die gängige Prozeduren ausführen, z. B. das Konvertieren einer Ganzzahl in einen String oder das Finden der Länge von a Schnur.

Wir werden uns jetzt mit dem Schreiben einer einfachen Funktion beschäftigen und zeigen, wie sie im realen Code nützlich sein kann. Dann schauen wir uns einige der wichtigsten integrierten Funktionen an.

Ein einfaches Beispiel

Stellen wir uns vor, wir möchten ein Skript für einen Einkaufswagen erstellen, das die Kosten aller Artikel in Ihrem Einkaufswagen übernimmt und sie dann zusammenfügt, um die Gesamtkosten zu berechnen. Um eine Funktion zu schreiben, die zwei Kosten in Anspruch nehmen würde, addieren Sie sie und drucken Sie dann die Ausgabe aus.

 #Unsere zwei Kosten addieren Kosten1 = 15 Kosten2 = 20 def sumCart (): totalCost = cost1 + cost2 print totalCost sumCart ()

Um die Funktion zu definieren, müssen wir die 'defSchlüsselwort und dann den Namen der Funktion. Als nächstes geben wir zwei Klammern (wir kommen später darauf zurück) und dann einen Doppelpunkt. Danach sollte der gesamte Code, den wir in die Funktion einschließen möchten, genauso eingerückt werden wie mit ob, während und zum Schleifen.

Um den Code in der Funktion auszuführen, geben wir den Namen der Funktion ein, gefolgt von den beiden Klammern. Wenn Sie diesen Code ausführen, wird "35" ausgegeben. Dies ist die korrekte Ausgabe.

Argumente

Das ist großartig, aber im Moment sind unsere Funktionen etwas starr - alles an der Funktion ist fest in sie eingearbeitet. Nehmen wir zum Beispiel an, wir wollen die sumCart Sie können an anderer Stelle in einem anderen Teil des Programms arbeiten, aber anstatt Kosten1 und Kosten2 zusammen zu addieren, möchten wir zwei weitere Kosten addieren, die in verschiedenen Variablen gehalten wurden. Wir müssten eine ganz neue Funktion schreiben, auch wenn diese neue Funktion genau die gleiche wäre wie die aktuelle, wobei die Namen der Variablen vertauscht wurden - das scheint kaum eine effiziente Lösung zu sein.

Um dieses Problem zu lösen, verwenden wir 'Argumente' und dafür sind die Klammern da. Ein Argument ist eine Möglichkeit, Daten an eine Funktion zu übergeben, wenn wir nicht wissen, in welcher Variablen oder Variablen diese Daten enthalten sein werden. Wenn dies verwirrend ist, nehmen wir das Beispiel, auf das ich gerade verwiesen habe. Wir addieren zwei weitere Kosten: cost3 und cost4.

Jetzt fügen wir zwei Argumente für die zwei Elemente hinzu, die wir addieren möchten. Argumente werden in Klammern definiert, und jedes Argument erhält einen Namen, wobei jedes Komma durch ein Komma getrennt wird. Ein Argument dient als temporärer Verweis auf die Daten, die Sie während der Ausführung der Funktion übergeben haben.

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart (item1, item2): totalCost = item1 + item2 print totalCost sumCart (cost1, cost2)

Wenn wir das anrufen sumCart Funktion werden die beiden Variablen, die wir übergeben haben (cost1 und cost2), in die Argumente item1 und item2 eingefügt. Dies geschieht immer in derselben Reihenfolge, in der Sie die Argumente definieren. Mit anderen Worten, die erste Variable, die Sie übergeben, wird dem ersten Argument, die zweite dem zweiten Argument usw. zugewiesen, und zwar für so viele Argumente, wie Ihre Funktion benötigt.

Wenn die Funktion ausgeführt wird, geschieht dies tatsächlich, wenn diese beiden Argumente in lokale Variablen konvertiert werden und die Werte der Variablen zugewiesen werden, die Sie beim Aufruf der Funktion übergeben, in diesem Fall den Wert von cost1 wird in die lokale Variable gestellt Gegenstand 1, und der Wert von cost2 wird in die lokale Variable gestellt item2. Dies bedeutet, dass Sie sie problemlos innerhalb der Funktion verwenden können.

Wenn Sie eine Variable als Argument übergeben, können Sie den Namen des Arguments überall in der Funktion verwenden. Er wird durch die Variable ersetzt, die Sie übergeben haben. In diesem Beispiel also überall Gegenstand 1 wird in die Funktion geschrieben und durch ersetzt cost1, und das gleiche mit item2 und cost2.

Um zu beweisen, dass Sie beliebige Zahlen übergeben können, wenn Sie diesen Code ausführen, sollten Sie jetzt die Summe von erhalten cost3 und cost4:

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart (item1, item2): totalCost = item1 + item2 print totalCost sumCart (cost3, cost4)

Argumenteinstellungen

Beachten Sie, dass eine Funktion eine beliebige Anzahl von Argumenten akzeptieren kann. Denken Sie jedoch daran: Wenn Sie die Funktion aufrufen, müssen Sie dieselbe Anzahl von Argumenten übergeben, die Sie definiert haben. Andernfalls erhalten Sie einen Fehler. Es gibt einen Weg, dies zu umgehen: Sie können einen Standardwert für jedes Argument definieren, der in den Fällen verwendet wird, in denen Sie keinen Wert angeben.

Betrachten wir den aktuellen Code. Stellen wir uns vor, wir möchten, dass das zweite Element 5 kostet, wenn wir der Funktion keinen anderen Wert geben. Es ist kein wahrscheinliches Szenario, aber es wird das Konzept demonstrieren.

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart (item1, item2 = 5): totalCost = item1 + item2 print totalCost sumCart (cost1) sumCart (cost3, cost4)

Wenn Sie diesen Code ausführen, sehen Sie, dass beim ersten Aufruf die Ausgabe 20 ist, was tatsächlich (cost1 + 5) ist. Dies wirkt sich jedoch nicht auf das Verhalten aus, wenn beide Argumente angegeben werden.

Werte zurückgeben

Es gibt ein letztes Feature von Funktionen, das wir heute überprüfen werden: Werte zurückgeben. Wir haben gelernt, wie man eine Funktion erstellt, die nichts dagegen hat, welche Eingaben es benötigt, aber was wäre, wenn wir die Antwort auf 'totalCost' in einer Variablen speichern wollten, anstatt sie auszudrucken? Vielleicht möchten wir die Kosten für die ersten beiden Elemente berechnen und in einer Variablen speichern. Dann mit den zweiten beiden Elementen dasselbe tun und diese Antwort in einer zweiten Variablen speichern. Mit dem aktuellen Layout unserer Funktion konnten wir das nicht lesbar und leicht verständlich machen.

Genauso wie wir Argumente an eine Funktion übergeben können, damit wir nicht fest programmieren müssen, woher die Daten kommen, können wir dasselbe mit der Ausgabe tun. Ich zeige es Ihnen mit einem Beispiel - in unserer vorherigen Funktion werde ich das Wort "print" durch das Wort "return" ersetzen:

 cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart (item1, item2): totalCost = item1 + item2 return totalCost cart1 = sumCart (cost1, cost2) cart2 = sumCart (cost3, cost4) Druckwagen1 Druckwagen2

Offensichtlich wird die Funktion die Antwort nicht mehr für uns ausdrucken. Stattdessen übergeben Sie den Wert der Variablen totalCost an den Ort, von dem aus wir die Funktion aufgerufen haben. Auf diese Weise können wir die Antwort in jedem beliebigen Kontext verwenden. In unserem vorherigen Programm wäre das nicht besonders nützlich, da wir keine Speicherorte angegeben haben. Deshalb habe ich auch die Art und Weise geändert, wie wir die Funktion aufrufen.

Wir müssen Python eine Variable zur Verfügung stellen, in der die Antwort gespeichert wird. Dann setzen wir diese Variable einfach gleich unserer Anweisung, die die Funktion aufruft. Wenn die Funktion einen Wert zurückgibt, wird dieser Wert jetzt in der von uns angegebenen Variablen gespeichert.


Funktionen - eingebaut

Wir haben gelernt, wie wir unsere eigenen Funktionen erstellen und verwenden können, aber es gibt einige Operationen, die oft genug ausgeführt werden, sodass Python sie für die Verwendung in einem beliebigen Programm verwendet. Die Art und Weise, wie Sie sie anrufen, ist genau dieselbe, als wenn Sie Ihre eigene anrufen, aber Sie müssen sie nicht zuerst definieren. Wir werden jetzt einen kurzen Blick auf die wichtigsten werfen, aber werfen Sie einen Blick auf die Python-Dokumentation, denn es gibt eine Menge nützlicher Funktionen, die zur Verfügung stehen und die wir nicht richtig behandeln können jetzt.

In der Python-Dokumentation finden Sie eine Liste aller integrierten Funktionen.

str ()

Sehen wir uns zunächst eine der nützlichsten Funktionen in Python an: die Zeichenfolgen-Konvertierungsfunktion. Bei der Skripterstellung gibt es viele Fälle, in denen Sie eine Variable haben, die eine Zahl oder einen anderen Datentyp enthält. Sie müssen diesen Wert jedoch in eine Zeichenfolge konvertieren, um etwas damit zu tun - normalerweise, um ihn auf dem Bildschirm auszudrucken.

Nehmen wir an, wir haben eine Nummer in einer Variablen, die wir ausdrucken wollen, mit der Meldung 'Die Nummer ist' und dann der Nummer. Wenn wir schreiben:

 number = 10 print 'Die Nummer ist' + Nummer

? Dann werden wir auf einen Fehler stoßen, weil Sie Python bitten, eine Zahl und eine Zeichenfolge zusammen hinzuzufügen - was nicht wirklich viel Sinn macht. Was wir tun müssen, ist die Zahl 10 in die Zeichenfolge 10 umzuwandeln. Wenn wir das tun, wird Python verstehen, dass wir nicht versuchen, eine Summe zu finden, sondern die beiden Zeichenfolgen zu einer einzigen zu verknüpfen.

Dies ist, wo die str Funktion kommt herein. Sie akzeptiert einen Wert und gibt einen String zurück, der ihn darstellt. Wenn Sie eine Nummer übergeben, wird die Nummer einfach im String-Format zurückgegeben.

 number = 10 print 'Die Nummer ist' + str (number)

Nachdem wir die Nummer in eine String-Konvertierungsfunktion eingeschlossen haben, läuft der Code einwandfrei. Das str Die Funktion muss jedoch keine Zahl annehmen - sie kann auch andere Werte annehmen, z. B. a Boolean:

 bool = True print 'Der Wert ist' + str (bool)

Das str () Funktion findet die am besten passende Zeichenfolge für den Wert von 'wahr'und gibt es zurück, was bedeutet, dass wir es schön ausgeben können.

len ()

Eine weitere häufige Aufgabe für Strings ist es, die Länge der Strings ermitteln zu können, und Python hat hierfür eine integrierte Funktion. Nehmen wir die Zeichenfolge 'Hello World' und versuchen Sie, die Länge zu ermitteln. Um dies zu tun, brauchen wir das eingebaute len () Funktion, die für Länge steht. Alles, was wir tun müssen, ist es, die Zeichenfolge zu übergeben, die wir verwenden möchten, und es wird die Anzahl der Zeichen darin zurückgegeben:

 string = 'Hello World' print len ​​(string)

Das len () Funktion kann jedoch mehr als das. Tatsächlich zählt es die Anzahl der Elemente in dem Objekt, die Sie ihm geben. Wenn Sie ihm eine Zeichenfolge geben, ist dies die Anzahl der Zeichen. Sie können dem Objekt aber auch eine Liste oder ein Tupel geben, und es wird die zurückgegeben Anzahl der Objekte in diesem bestimmten Objekt.

int ()

Wenn Sie fortfahren, erhalten Sie oft eine Zahl wie 10.6 oder 3.896, die keine Ganzzahl ist, aber Sie benötigen eine Ganzzahl von ihnen. Die integrierte Funktion zum Konvertieren in eine Ganzzahl wird aufgerufen int (), und es funktioniert ziemlich vorhersehbar. Die Funktion gibt die Ganzzahlkonvertierung dieser Zahl zurück. Beachten Sie, dass diese Funktion die Eingabe NICHT auf die nächste Ganzzahl rundet - sie wirft einfach alles nach dem Dezimalzeichen weg und gibt Ihnen die Zahl zurück. Die Eingabe von 10.6 gibt also 10, NICHT 11 zurück. Ähnlich würde 3.25 3 zurückgeben.

 number = 10.6 print int (number)

Das int Funktion kann auch eine Zeichenfolge in eine konvertieren int Datentyp. Zum Beispiel wäre die Ausgabe immer noch 10:

 number = '10' print int (number)

Seien Sie jedoch vorsichtig, denn beim Konvertieren von einer Zeichenfolge in eine Ganzzahl, int () befasst sich NICHT mit Dezimalstellen. Wenn Sie es angeben:

 number = '10 .6 'print int (number)

Dann wird ein Fehler ausgegeben, da die Eingabe keine Ganzzahl war und daher nicht wusste, wie sie damit umgehen sollte.

Angebot()

Zum Schluss schauen wir uns kurz an Angebot() Funktion; Es kommt überraschenderweise häufig vor, wenn Sie in Python komplexere Aufgaben ausführen. Auch wenn dies im Moment nicht besonders nützlich erscheint, lohnt es sich, einen Blick darauf zu werfen und zu erfahren, wie es funktioniert. Range ist eine Funktion, mit der Sie eine Liste von Zahlen nach einem bestimmten Muster erstellen. Das einfachste Beispiel ist, dass Sie vielleicht eine Liste benötigen, die alle Zahlen von 0 bis 10 enthält. Statt sie manuell einzugeben, können Sie die verwenden Angebot Funktion, um es in einer Zeile zu tun.

Der Bereich akzeptiert eine ganze Zahl als Parameter, und in diesem Fall übergeben wir sie 11. Die Funktion beginnt mit Null und zählt eine Liste aufwärts, bis sie einen Wert erreicht, der niedriger ist als die von Ihnen eingegebene Zahl wir geben 11 ein, es werden die Nummern 0 - 10 in den Listennummern gespeichert:

 Zahlen = Bereich (11) Druck (Zahlen)

Was wäre, wenn wir stattdessen die Zahlen fünf bis zehn drucken wollten? Nun, optional können wir ein weiteres Argument für die Startnummer angeben, so dass die Zahlen fünf bis zehn ausgegeben werden:

 Zahlen = Bereich (5, 11) Druck (Zahlen)

Was wäre schließlich, wenn wir nur die ungeraden Zahlen unter 10 drucken wollten? Nun, der Bereich akzeptiert einen dritten Wert, dh den Betrag, der bei jedem Schritt erhöht werden muss. Wenn wir also bei 1 beginnen, die Stufe auf zwei und die Obergrenze auf 11 setzen, sollten wir alle ungeraden Zahlen unter zehn haben:

 Zahlen = Bereich (1, 11, 2) Druck (Zahlen)

Als letzte Bemerkung kann jede dieser Zahlen auch negativ sein. Wenn Sie also AB von 10 auf 1 anstatt aufwärts zählen möchten, können Sie den Schritt auf negativ 1, den Startwert auf 10 und den Grenzwert auf 0 setzen wie so:

 Zahlen = Bereich (10, 0, -1) Druck (Zahlen)

Beachten Sie, dass der Bereich nur Ganzzahlen behandelt. Stellen Sie also sicher, dass Sie keine ganzzahligen Werte angeben, da sonst ein Fehler ausgegeben wird.


Module - Erstellen Sie Ihre eigenen

Okay, wir haben jetzt Funktionen besprochen. Gehen wir zum zweiten Thema der heutigen Lektion über: Module. Wenn Funktionen Code-Gruppen sind, sind Module Funktionsgruppen. Es gibt mehr für sie, aber das ist eine gute Möglichkeit, über sie nachzudenken.

Wie bereits erwähnt, können Sie kein komplexes Programm erstellen, ohne Code in Funktionen zu sortieren. Wenn Ihr Programm weiter wächst, werden sie sogar unhandlich. Sie müssen sie in eine andere hierarchische Ebene sortieren. Dies sind Module. Wir können sie also als strukturelles und organisatorisches Werkzeug für unseren Code zusammenfassen.

Module sind sehr einfach zu erstellen. Sie sind einfach Python-Dateien, wie Ihre regulären Skripte. Um ein Modul zu erstellen, schreiben Sie eine oder mehrere Funktionen in eine Textdatei und speichern Sie es dann mit einem .py Erweiterung. Machen wir das jetzt mit einem Beispiel. Öffnen Sie eine neue Datei, Ihren Texteditor oder Ihre IDE, und erstellen Sie eine Funktion. Ich werde mit dem Beispiel eines Einkaufswagens von früher fortfahren und eine Funktion zur Berechnung der Steuer auf die Produkte erstellen.

Erstellen Sie eine neue Datei in Ihrer IDE oder im Texteditor, und erstellen Sie eine Funktion zur Berechnung der Steuer für ein Produkt.

 def addTax (price, tax): newPrice = price / 100 * (100 + tax) Rückgabe newPrice

Wenn wir diese Datei mit einem speichern .py Erweiterung im selben Verzeichnis wie unser anderes Skript, wir können es als Modul verwenden! Es ist wichtig, ihm einen beschreibenden Namen zu geben, damit Sie wissen, was er tut, wenn Sie später wiederkommen. Rufen Sie ihn also an finanz.py


Module importieren

Um Module zu verwenden, können wir entweder die einführen oder der von Stichwort. einführen ist das einfachste und am weitesten verbreitete, also versuchen wir es zuerst. Sie geben dann den Namen des Moduls an, der einfach der Dateiname ist, ohne das .py Erweiterung. Zum Beispiel mit unserem Finanzen Modul im selben Ordner wie unser Skript, könnten wir schreiben:

Importfinanzierung

? und wir hätten Zugriff auf alle Funktionen im Skript. Wir können sie dann wie früher anrufen. Sie können auch die von Schlüsselwort, mit dem Sie bestimmte Funktionen aus der Bibliothek auswählen können, wenn Sie vorher wissen, welche Sie benötigen. Dies wird für ein Modul mit Hunderten von Funktionen empfohlen - es spart Ladezeit für Funktionen, die nicht einmal verwendet werden.

aus dem Finanzimport addTax

Sie können mehrere importieren, indem Sie deren Namen durch Kommas trennen.

aus Finanzimport addTax, berechnenDiscount

Und Sie können sogar den Sternchen-Platzhalter verwenden, um alles zu importieren.

aus Finanzimport *

Wenn Sie das Modul importiert haben, verwenden Sie zur Verwendung der darin enthaltenen Funktionen den Modulnamen, gefolgt von einem Punkt und dann den Funktionsnamen.

 Import Finance Print Finance.addTax (100, 5)

Dies sollte zu 105 führen, wenn das Skript ausgeführt wird. Ein einfaches Ergebnis, aber Sie haben eine funktionierende Funktion!


Eingebaute Module

Es gibt viele eingebaute Module, ebenso wie eingebaute Funktionen. Hier zeichnet sich Python wirklich aus! Es braucht die sogenannten Batterien? Ansatz.

Da Python über ein so umfangreiches Angebot an integrierten Modulen verfügt, können Sie nicht alle in einer Lektion behandeln. Einige sind ziemlich undeutlich, und es ist sinnlos, eine Fülle von Informationen zu vermitteln, für die Sie möglicherweise nie eine Verwendung haben. Lassen Sie uns stattdessen einige der nützlichsten behandeln.

  • zufällig
  • Mathematik
  • os
  • Terminzeit
  • urllib2

zufällig

Ein guter Anfang ist zufällig , Es ist einfach zu verstehen und in den meisten Skripten nützlich, die Sie schreiben. Wie zu erwarten, können Sie mit diesem Modul Zufallszahlen generieren. Wenn Sie zum Beispiel eine Website mit Python erstellen, können Sie sie dazu verwenden, Ihre Kennwortdatenbank sicherer zu machen oder eine zufällige Seitenfunktion zu aktivieren. Wenn wir eine zufällige ganze Zahl wollten, können wir die Randint Funktion wie folgt:

 Zufallsdruck zufällig importieren Random (0, 5)

Dies gibt entweder 1, 2, 3, 4 oder 5 aus. Randint akzeptiert genau zwei Parameter: einen niedrigsten und einen höchsten Wert. Wie Sie sehen, enthält es die höchste Zahl, geht aber von 1 über die niedrigste Zahl. Wenn Sie eine zufällige Fließkommazahl wünschen, können Sie die verwenden zufällig Funktion:

 random zufällig importieren ()

? die eine Zufallszahl zwischen 0 und 1 an eine Nachkommastelle ausgibt. Wenn Sie eine größere Zahl wünschen, können Sie diese multiplizieren. Zum Beispiel eine Zufallszahl zwischen 0 und 100:

 zufällig zufällig zufällig () * 100 importieren

Das zufällig Das Modul verfügt auch über eine Funktion zum Auswählen eines Zufallselements aus einer Menge, z. B. einer Liste, die aufgerufen wird Wahl.

 Zufall importieren myList = [1, 8, True, 77, "Lorem", 482, "Ipsum"] random.choice (myList)

Mathematik

Das Mathematik Modul bietet Zugriff auf mathematische Konstanten und Funktionen.

 import math math.pi #Pi, 3.14? math.e # Eulers Nummer, 2,71? math.degrees (2) # 2 Radiant = 114,59 Grad math.radians (60) # 60 Grad = 1,04 Radiant math.sin (2) #Sine von 2 Radiant math.cos (0.5) #Kosinus von 0.5 Radiant math.tan ( 0.23) #Tangens von 0.23 Bogenmaß math.factorial (5) # 1 * 2 * 3 * 4 * 5 = 120 math.sqrt (49) #Square Wurzel von 49 = 7

Das Modul enthält viele weitere Funktionen, die jedoch einige der nützlichsten sind. Eine vollständige Liste finden Sie hier.

Terminzeit

Wenn Sie mit Datum und Uhrzeit arbeiten müssen, dann die Terminzeit Modul ist dein Freund. Dies ist ein sehr nützliches Wissen für die Webentwicklung. Wenn Sie eine Website mit Kommentaren oder einem Blog erstellen, werden Sie wahrscheinlich ihr Alter oder den Zeitpunkt ihrer Erstellung anzeigen.

Lassen Sie uns das Modul wie gewohnt importieren:

 datetime importieren

Der Einfachheit halber können Sie Datums- und Uhrzeitkomponenten auch separat importieren, sodass Sie später nicht so viel eingeben müssen.

 datetime importieren aus datetime import date import time

Schauen wir uns einige der Funktionen an, die es bietet:

 time.time () #Zurücksetzt die Anzahl der Sekunden seit der Unix-Epoche vom 1. Januar 1970 date.fromtimestamp (123456789) #Konvertiert eine Anzahl von Sekunden in ein Datumsobjekt date.fromtimestamp (time.time ()) #Wir können die zwei, um ein Objekt zu erhalten, das die aktuelle Zeit darstellt date.fromordinal (10000) #Zurückgegeben in diesem Fall das Datum eine bestimmte Anzahl von Tagen seit dem 1. Januar im Jahr 1 - 28. Mai 0018

Es gibt einige nützliche Funktionen zum Konvertieren von Datumsangaben in verwendbare Zeichenfolgen. Spielzeit ermöglicht das Formatieren einer Zeichenfolge basierend auf Sonderzeichen, denen ein Prozentzeichen vorangestellt ist. % d steht beispielsweise für Tag.

 currentDate = date.fromtimestamp (time.time ()) #Erstelle die aktuelle Uhrzeit currentDate.strftime ("% d /% m /% y") #Format das Datum wie DD / MM / YY - in diesem Fall 09 / 07/11 currentDate.isoformat () #Format als ISO-Standarddatum - in diesem Fall 2011-07-09

os

Das nächste Modul, das wir uns ansehen, ist os, Diese Funktion bietet Funktionen, mit denen Sie mit dem zugrunde liegenden Betriebssystem, auf dem Python ausgeführt wird, eine Schnittstelle bilden - Windows, Mac oder Linux. Wir werden uns auf das konzentrieren Pfad Submodul. Es ermöglicht Ihnen, die Eigenschaften von Dateien und Ordnern im System zu bearbeiten und zu finden. Daher ist es für die Webentwicklung am nützlichsten. Sie müssen häufig Dateien verwalten, z. B. Benutzer-Uploads.

 from os import path path.exists ("/ Users / Giles") #Überprüft, ob das Verzeichnis vorhanden ist. In meinem Fall ist dies True path.exists ("/ Users / Bob") #False
 from os import path path.getatime ("/ Users") #Geben Sie den letzten Zugriff auf das angegebene Verzeichnis als Zeitmarke path.getmtime ("/ Users") #Geben Sie an, wann das angegebene Verzeichnis zuletzt als Zeitstempel geändert wurde

Diese Zeitstempel können mit Hilfe von in brauchbare Zeichenketten umgewandelt werden Terminzeit Modul - Sie können sehen, wie Sie Module kombinieren können.

 from os import path path.getsize ("/ Benutzer / Giles / Desktop / boot") # Gibt die Größe einer Datei in Bytes zurück - für diese Datei waren dies 314400 Bytes oder 314 KB

Die letzte Funktion im os-Modul, die wir uns ansehen werden, ist Beitreten. Es kombiniert zwei Wege zu einem. Sie denken vielleicht: "Warum kann ich die Saiten nicht einfach verketten?", Aber so einfach ist das nicht. Unter Windows ist der Pfadbegrenzer ein Backslash, unter Mac und Linux ein Schrägstrich. Dieses Modul behebt solche Probleme und stellt sicher, dass Ihre Pythons-Skripts auf jedem System funktionieren.

 path.join ("C:", "Users") #Returns "C: / Users"

urllib2

Um unsere Tour durch Pythons Standardbibliothek zu beenden, werfen wir einen kurzen Blick darauf urllib2. Mit diesem Modul können Sie eine Schnittstelle zum Web herstellen, daher ist es für uns offensichtlich relevant. Die nützlichste Funktion ist die urlopen, die eine Seite herunterlädt.

Sie verwenden es wie folgt:

 import urllib2 urllib2.urlopen ("http://net.tutsplus.com")

Sie können die URL-Zeichenfolge natürlich für jede Site austauschen. Dadurch wird der HTML-Inhalt der Seite heruntergeladen. Dies gibt jedoch keinen String zurück, also müssen wir die Daten lesen, um das herauszufinden:

 import urllib2 urllib2.urlopen ("http://net.tutsplus.com") .read (100)

Dadurch werden die ersten 100 Zeichen der HTML-Quelle von Nettuts + zurückgegeben. Sobald Sie diese Daten haben, können Sie sie sortieren und die erforderlichen Bits extrahieren, die Sie benötigen.


Letzte Tipps

Wenn sich Ihr Modul in einem anderen Verzeichnis als Ihr Skript befindet, ist es ein bisschen schwieriger, sie zu importieren. Sie müssen eine Datei erstellen, die Python mitteilt, dass der Ordner ein Paket ist. Wenn Sie beispielsweise einen Ordner namens Unterverzeichnis in demselben Ordner wie Ihr Skript und dann Ihr Modul in diesem Unterverzeichnis haben, müssen Sie eine Datei mit dem Namen erstellen __init__.py im selben Ordner wie das Modul. Diese Datei kann leer sein. Dann importieren Sie es aus Ihrem Skript:

% überprüfen Sie es, wenn Sie eine Auffrischung benötigen!


Videoanleitung


Abschrift

In dem heutigen Tutorial werden wir uns Funktionen ansehen - was sie sind, wie sie funktionieren und wie Sie Ihre eigenen erstellen können. Wir werden auch einige der integrierten Funktionen überprüfen und deren effektiven Gebrauch machen. Zum Schluss betrachten wir das Erstellen und Importieren von Modulen.


Funktionen - Schreiben Sie Ihre eigenen

Funktionen sind ein wichtiger Schritt, wenn Sie die Programmierung komplexer gestalten. Wenn eine Variable ein benannter Container für Daten ist, ist eine Funktion ein benannter Container für einen Codeblock, der bei Bedarf ausgeführt werden kann. Dies ist nützlich, wenn Sie ein Programm haben, das eine bestimmte Operation viele Male ausführt. Anstatt den Code zu kopieren und einzufügen, um diese Operation in jedem Abschnitt auszuführen, wo er benötigt wird, können Sie einfach eine einzige Funktion schreiben, um sie für Sie auszuführen.

Eine Funktion ist ein benannter Container für einen Codeblock.

Es gibt zwei Arten von Funktionen: diejenigen, die Sie selbst schreiben und in Ihren Code aufnehmen, und diejenigen, die nativ in Python enthalten sind und die gängige Prozeduren ausführen, z. B. das Konvertieren einer Ganzzahl in einen String oder das Finden der Länge von a Schnur.

Wir werden uns jetzt mit dem Schreiben einer einfachen Funktion beschäftigen und zeigen, wie sie im realen Code nützlich sein kann. Dann schauen wir uns einige der wichtigsten integrierten Funktionen an.

Ein einfaches Beispiel

Stellen wir uns vor, wir möchten ein Skript für einen Einkaufswagen erstellen, das die Kosten aller Artikel in Ihrem Einkaufswagen übernimmt und sie dann zusammenfügt, um die Gesamtkosten zu berechnen. Um eine Funktion zu schreiben, die zwei Kosten in Anspruch nehmen würde, addieren Sie sie und drucken Sie dann die Ausgabe aus.

 #Unsere zwei Kosten addieren Kosten1 = 15 Kosten2 = 20 def sumCart (): totalCost = cost1 + cost2 print totalCost sumCart ()

Um die Funktion zu definieren, müssen wir die 'defSchlüsselwort und dann den Namen der Funktion. Als nächstes geben wir zwei Klammern (wir kommen später darauf zurück) und dann einen Doppelpunkt. Danach der gesamte Code, den wir w