Heim >Backend-Entwicklung >Python-Tutorial >Einführung in die Python-Grundlagen – Funktion
Eine Funktion ist ein benannter Codeblock, der zum Abschließen einer bestimmten Arbeit verwendet wird. Def-Funktionsdefinition unter Angabe des Funktionsnamens. Bei der Definition einer Funktion legen wir die Namen und Positionen der -Parameter fest und die Schnittstellendefinition der -Funktion ist abgeschlossen. Für den Aufrufer der Funktion reicht es aus, zu wissen, wie er die richtigen Parameter übergibt und welchen Wert die Funktion zurückgibt . Die komplexe Logik innerhalb der Funktion ist gekapselt weiß es nicht.
Um eine bestimmte, durch eine Funktion definierte Aufgabe auszuführen, rufen Sie die Funktion auf. Wenn Sie dieselbe Aufgabe mehrmals in einem Programm ausführen, müssen Sie nicht wiederholt Code schreiben, um die Aufgabe abzuschließen. Sie müssen lediglich die Funktion aufrufen, die die Aufgabe ausführt, und Python den Code ausführen lassen.
Funktion höherer Ordnung heißt im Englischen Funktion höherer Ordnung
Formale Parameter : Informationen zum Abschluss der Funktion, die für ihre Arbeit erforderlich sind.
Tatsächliche Parameter: Informationen, die beim Aufruf der Funktion an die Funktion übergeben werden.
Die Funktionsdefinition kann mehrere formale Parameter enthalten, daher kann der Funktionsaufruf auch mehrere tatsächliche Parameter enthalten. Es gibt viele Möglichkeiten, tatsächliche Parameter an die Funktion zu übergeben. Dazu muss die Reihenfolge der tatsächlichen Parameter mit der Reihenfolge der formalen Parameter übereinstimmen ; Wörter, in denen jeder tatsächliche Parameter durch aus Variablennamen und -werten zusammengesetzte Listen und Wörterbücher dargestellt wird, können ebenfalls verwendet werden.
1. Wenn Sie eine Funktion aufrufen, muss Python jeden tatsächlichen Parameter im Funktionsaufruf einem formalen Parameter in der Funktionsdefinition zuordnen. Die einfache Zuordnung basiert auf der Reihenfolge der tatsächlichen Parameter. Diese Assoziation wird als Positionsargument bezeichnet.
2. In einer Funktion können Sie nach Bedarf eine beliebige Anzahl von Positionsargumenten verwenden, und Python ordnet die tatsächlichen Parameter im Funktionsaufruf der Reihe nach den entsprechenden formalen Parametern in der Funktionsdefinition zu.
3. Wenn Sie Positionsargumente zum Aufrufen einer Funktion verwenden und die Reihenfolge der Argumente falsch ist, ist die Ausgabe nicht korrekt.
Schlüsselwortargumente sind (Name-Wert-)Paare, die an die Funktion übergeben werden. Sie verknüpfen den Namen und den Wert direkt im Argument, sodass bei der Übergabe des Arguments an die Funktion keine Verwirrung entsteht. Schlüsselwortargumente machen es überflüssig, sich Gedanken über die Reihenfolge der Argumente in einem Funktionsaufruf zu machen, und geben den Zweck jedes Werts im Funktionsaufruf klar an.
animal_type='hamster', pet_name='harry') |
>>> person('Bob', 35, city='Beijing') name: Bob age: 35 other: {'city': 'Beijing'} >>> person('Adam', 45, gender='M', job='Engineer') name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'} |
>>> person('Bob', 35, city='Peking') Name: Bob Alter: 35 Sonstiges: {'Stadt': 'Beijing'}>>> Person('Adam', 45, Geschlecht='M', Job='Ingenieur')
|
def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum |
>>> calc(1, 2) 5 >>> calc() 0 |
def add_end(L=None):
|
def calc(*numbers): sum = 0 für n in Zahlen: sum = sum + n * n return sum |
>>> calc(1, 2)5>>> calc()0 |
>>> nums = [1, 2, 3]>>> calc(*nums)14 |
*nums bedeutet, dass alle Elemente der Nums-Liste als variable Parameter übergeben werden.
Für Schlüsselwortparameter kann der Aufrufer der Funktion beliebige unbegrenzte Schlüsselwortparameter übergeben. Was die Übergabe angeht, müssen Sie die kw-Prüfung innerhalb der Funktion bestehen.
Wenn Sie die Namen von Schlüsselwortparametern einschränken möchten, können Sie benannte Schlüsselwortparameter verwenden. Als Schlüsselwortparameter werden beispielsweise nur Stadt und Job akzeptiert. Die auf diese Weise definierte Funktion lautet wie folgt:
|
def person(name, age, *args, city, job): print(name, age, args, city, job) |
Wenn in der Funktionsdefinition bereits ein variabler Parameter vorhanden ist, benötigt der folgende benannte Schlüsselwortparameter kein spezielles Trennzeichen mehr*:
|
def person(name, age, *, city='Beijing', job): print(name, age, city, job) |
> >> Person('Jack', 24, 'Peking', 'Ingenieur')
|
def person(name, age, *, city='Peking', job): print(name, age, city, job)
| tr>
Da der benannte Schlüsselwortparameter „city“ einen Standardwert hat, müssen Sie beim Aufruf von
8.2.5 Äquivalente Funktionsaufrufe
Hinweis: Es spielt keine Rolle, welche Aufrufmethode Sie verwenden, solange der Funktionsaufruf die gewünschte Ausgabe erzeugt. Verwenden Sie einfach die Aufrufmethode, die für Sie am einfachsten zu verstehen ist.
8.2.6 Leere Funktion (Pass)
def nop():
|
>>> r = move(100, 100, 60, math.pi / 6) >>> print(r) (151.96152422706632, 70.0) |
>>> , math.pi / 6)>>> print(x, y)151.96152422706632 70.0 |
>>> r = move(100, 100, 60, math.pi / 6)>>> print(r) ( 151.96152422706632, 70.0) |
Der Rückgabewert ist ein Tupel! Syntaktisch gesehen können Klammern jedoch weggelassen werden, wenn ein Tupel zurückgegeben wird, und mehrere Variablen können gleichzeitig ein Tupel empfangen und entsprechend der Position entsprechende Werte zuweisen. Daher gibt die Funktion von Python, die mehrere Werte zurückgibt, tatsächlich ein Tupel zurück. aber es ist bequemer zu schreiben.
Verwenden Sie die if-Anweisung, um zu bestimmen, ob dieser Aktualparameter benötigt wird.
Die Funktion kann jede Art von Wert zurückgeben, einschließlich komplexerer Datenstrukturen wie Listen und Wörterbücher.
Neben der Annahme von Funktionen als Parameter können Funktionen höherer Ordnung auch Funktionen als Ergebniswerte zurückgeben. Wenn Sie nicht sofort summieren müssen, können Sie das Summierungsergebnis nicht zurückgeben, sondern die Summationsfunktion zurückgeben:
ax = 0
ax = ax + n return ax
return sum |
> ;> f = lazy_sum(1, 3, 5, 7, 9)
|
def count(): def f(j): def g(): return j*j return g fs = [] for i in range(1, 4): fs.append(f(i)) # f(i)立刻被执行,因此i的当前值被传入f() return fs >>> f1, f2, f3 = count() >>> f1() 1 >>> f2() 4 >>> f3() 9 |
>>> f()25 |
>>> f1 = lazy_sum(1, 3, 5, 7, 9)> ;>> f2 = lazy_sum(1, 3, 5, 7, 9)>>> f1==f2Falsch |
def get_formatted_name(first_name, last_name): """Den ordentlichen Namen zurückgeben""" full_name = first_name + ' ' + last_name return full_name.title() while True: print("nBitte sagen Sie mir Ihren Namen:") print("(zum Beenden können Sie jederzeit 'q' eingeben)") f_name = input("Vorname: ") if f_name == 'q': break l_name = input("Nachname: ") if l_name == 'q': break formatted_name = get_formatted_name(f_name, l_name) print("nHello, " + formatted_name + "!") |
def count(): def f(j): def g(): return j*j return g fs = [] for i in range( 1, 4): fs.append(f(i)) # f(i) wird sofort ausgeführt, daher wird der aktuelle Wert von i an f() übergebenreturn fs>>> f1, f2, f3 = count()>>> > ;> f2()4>>> f3() |
Wenn wir eine Funktion übergeben, müssen wir die Funktion manchmal nicht explizit definieren. Es ist bequemer, die anonyme Funktion direkt zu übergeben.
In Python gibt es begrenzte Unterstützung für anonyme Funktionen. Nehmen wir immer noch die Funktion map() als Beispiel: Bei der Berechnung von f(x)=x2 können Sie neben der Definition einer Funktion von f(x) auch direkt eine anonyme Funktion übergeben:
|
def f(x):
|
für Namen in Namen: Sie werden es oft nützlich finden, eine Liste an eine Funktion zu übergeben. Diese Liste kann Namen, Zahlen oder komplexere Objekte enthalten . (wie ein Wörterbuch). Sobald eine Liste an eine Funktion übergeben wird, kann die Funktion direkt auf deren Inhalt zugreifen. Verwenden Sie die folgenden Funktionen, um die Effizienz der Verarbeitung von Listen zu verbessern.
1. Nachdem Sie die Liste an die Funktion übergeben haben, kann die Funktion sie ändern. Alle innerhalb der Funktion an dieser Liste vorgenommenen Änderungen sind dauerhaft, sodass Sie große Datenmengen effizient verarbeiten können.
2. Append-Pop hinzufügen oder löschen
3. Eine Funktion schließt eine Aufgabe ab und Funktionen können sich gegenseitig aufrufen. Optimieren Sie Funktionen, um Wartung und Änderung zu erleichtern.
Um dieses Problem zu lösen, können Sie auf diese Weise eine Kopie der Liste anstelle des Originals an die Funktion übergeben; Die Funktion wirkt sich nur auf die Kopie und nicht auf das Original aus.
function_name(list_name[:]), [:] entspricht dem Kopieren.
Manchmal wissen Sie nicht im Voraus, wie viele tatsächliche Parameter eine Funktion akzeptieren muss. Glücklicherweise ermöglicht Python das Sammeln Beliebige Anzahl tatsächlicher Parameter aus der aufrufenden Anweisung. Die Anzahl der Argumente.
def make_pizza(*toppings):
Das Sternchen im Parameternamen *toppings weist Python an, ein leeres Tupel namens toppings zu erstellen und alle empfangenen Werte in diesem Tupel zu kapseln. Die print-Anweisung im Funktionskörper generiert eine Ausgabe, um zu demonstrieren, dass Python sowohl den Aufruf der Funktion mit einem Wert als auch den Aufruf der Funktion mit drei Werten bewältigen kann. Es behandelt verschiedene Aufrufe auf ähnliche Weise. Beachten Sie, dass Python die Argumente in einem Tupel kapselt, auch wenn die Funktion nur einen einzelnen Wert empfängt.
Wenn Sie möchten, dass eine Funktion verschiedene Arten von Argumenten akzeptiert, müssen Sie eine beliebige Anzahl formaler Parameter in die Funktionsdefinition aufnehmen. Python gleicht zunächst Positionsargumente und Schlüsselwortargumente ab und sammelt dann die verbleibenden Argumente im letzten formalen Parameter.
Def build_profile(first, last, **user_info):
Definitionsanforderungen der Funktion build_profile() Stellt ein erstes und bereit Nachnamen, wobei der Benutzer beliebig viele Name-Wert-Paare angeben kann. Die beiden Sternchen im formalen Parameter **user_info weisen Python an, ein leeres Wörterbuch mit dem Namen user_info zu erstellen und alle empfangenen Name-Wert-Paare in dieses Wörterbuch zu kapseln. In dieser Funktion kann wie in jedem anderen Wörterbuch auf die Name-Wert-Paare in user_info zugegriffen werden.
für Schlüssel, Wert in user_info.items():
Profil[Schlüssel] = Wert
user_profile = build_profile('albert', 'einstein',location=' Princeton', field='physics')
1. Definieren Sie Funktionen in Python. Sie können erforderliche Parameter, Standardparameter, variable Parameter, Schlüsselwortparameter und benannte Parameter verwenden Schlüsselwortparameter, diese fünf Parameter können in Kombination verwendet werden. Bitte beachten Sie jedoch, dass die Reihenfolge der Parameterdefinition sein muss: Erforderliche Parameter, Standardparameter, variable Parameter, benannte Schlüsselwortparameter und Schlüsselwortparameter.
2. Python-Funktionen verfügen über eine sehr flexible Parameterform, die nicht nur einfache Aufrufe implementieren, sondern auch sehr komplexe Parameter übergeben kann.
3. Die Standardparameter müssen unveränderliche Objekte verwenden. Wenn es sich um variable Objekte handelt, treten beim Ausführen des Programms Logikfehler auf!
4. Achten Sie auf die Syntax zum Definieren von Variablenparametern und Schlüsselwortparametern:
5. *args ist ein variabler Parameter und args empfängt ein Tupel; **kw ist ein Schlüsselwortparameter und kw erhält ein Diktat.
7. Und die Syntax zur Übergabe variabler Parameter und Schlüsselwortparameter beim Aufruf einer Funktion:
Variable Parameter können direkt übergeben werden: func(1, 2, 3), oder Sie können die Liste oder das Tupel zuerst zusammenstellen und sie dann über *args: func(*(1, 2, 3));
übergeben. Die Schlüsselwortparameter können direkt übergeben werden: func(a=1 , b=2 ), können Sie das Diktat zuerst zusammenstellen und es dann über **kw: func(**{'a': 1, 'b': 2}) übergeben.
Die Verwendung von *args und **kw ist die Redewendung von Python. Natürlich können auch andere Parameternamen verwendet werden, am besten ist es jedoch, die Redewendung zu verwenden.
8.5.4 Rekursive Parameter
aufruft, ist die Funktion rekursiv. Die Vorteile rekursiver Funktionen liegen in der einfachen Definition und klaren Logik. Theoretisch können alle rekursiven Funktionen in einer Schleife geschrieben werden, aber die Logik von Schleifen ist nicht so klar wie die von Rekursionen. def fact(n): if n==1: return 1 return n * fact(n - 1) Bei der Verwendung rekursiver Funktionen muss darauf geachtet werden, einen Stapelüberlauf zu verhindern. In Computern werden Funktionsaufrufe über die Datenstruktur des Stapels implementiert. Immer wenn ein Funktionsaufruf eingegeben wird, wird dem Stapel ein Stapelrahmen hinzugefügt. Da die Größe des Stapels nicht unendlich ist, führen zu viele rekursive Aufrufe zu einem Stapelüberlauf. Die Bewegung des Turms von Hanoi lässt sich sehr einfach über rekursive Funktionen umsetzen. Da Variablen auf Funktionen zeigen können und die Parameter von Funktionen Variablen empfangen können, kann eine Funktion empfangen Eine andere Funktion Als Parameter wird diese Art von Funktion als Funktion höherer Ordnung bezeichnet. def add(x, y, f): return f(x) + f(y) >>> type(123) >>> type('str') >>> type(None) 2. Um den Objekttyp zu bestimmen, verwenden Sie die Funktion type(): >>> type(123) >>> len('ABC') 3 >>> 'ABC'.__len__() 3def fact(n):
wenn n==1 : return 1 return n * fact(n - 1)
8.6 Funktionen höherer Ordnung
8.6.1 Funktionen höherer Ordnung
8.6.2 Integrierte Funktionen 1. Die Funktion abs(), die den Absolutwert ermittelt, hat nur einen Parameter.
def add(x, y, f): return f(x) + f(y)
>>> type('str')< ;class 'str'>>>> type(None)
>>> hasattr(obj, 'x') # 有属性'x'吗? True >>> obj.x 9 >>> hasattr(obj, 'y') # 有属性'y'吗? False >>> setattr(obj, 'y', 19) # 设置一个属性'y' >>> hasattr(obj, 'y') # 有属性'y'吗? True >>> getattr(obj, 'y') # 获取属性'y' 19 >>> obj.y # 获取属性'y' 19 |
5.__len__-Methode gibt die Länge zurück. Wenn Sie in Python die Funktion len() aufrufen, um zu versuchen, die Länge eines Objekts zu ermitteln, ruft die Funktion tatsächlich innerhalb der Funktion len() automatisch die Methode __len__() des Objekts auf, sodass der folgende Code äquivalent ist:
>>> len('ABC')
|
>>> hasattr(obj, 'x') # Hat Attribute 'X'? True>>> obj.x9>>> Gibt es ein Attribut „y“? False>>> setattr(obj, 'y', 19) # Setze ein Attribut 'y'>>> obj, 'y') # Gibt es ein Attribut 'y'? True>>> getattr(obj, 'y') # Attribut 'y' abrufen19>> > obj.y # Attribut 'y' abrufen19 |
>>> >... return x * x...>>> 8, 9])>>> list(r)[1, 4, 9, 16, 25, 36, 49, 64, 81] |
>>> from functools import Reduce> ;>> def fn(x, y):... Rückgabe x * 10 + y>>> (fn, [1, 3, 5, 7, 9])13579 |
12.Pythons integrierte Funktion filter() wird zum Filtern von Sequenzen verwendet. filter() akzeptiert auch eine Funktion und eine Sequenz . Im Gegensatz zu map() wendet filter() die übergebene Funktion der Reihe nach auf jedes Element an und entscheidet dann, ob das Element beibehalten oder verworfen wird, je nachdem, ob der Rückgabewert True oder False ist. Der Schlüssel liegt in der korrekten Implementierung einer „Filter“-Funktion. Beachten Sie, dass die Funktion filter() einen Iterator zurückgibt, bei dem es sich um eine Lazy-Sequenz handelt. Um filter() zu zwingen, die Berechnungsergebnisse zu vervollständigen, müssen Sie die Funktion list() verwenden, um alle Ergebnisse abzurufen und die Liste zurückzugeben.
|
>>> , -21])[-21, -12, 5, 9, 36] |
>>> def now(): ... print('2015-3-25') ... >>> f = now >>> f() 2015-3-25 >>> now.__name__ 'now' >>> f.__name__ 'now' |
>>> 'Zoo', 'Credit'], key=str.lower, reverse=True)
|
>>> def now():... print('2015-3-25')... >>> f = now>>> f()2015-3-25>>> __name__ 'now'>>> f.__name__'now' |
class Student(object): @property def score(self): return self._score @score.setter def score(self, value): if not isinstance(value, int): raise ValueError('score muss eine ganze Zahl sein!') wenn value < 0 oder value > > self._score = value |
@property wird häufig in Klassendefinitionen verwendet und ermöglicht es Aufrufern, Funktionscodes zu schreiben und gleichzeitig die notwendigen Überprüfungen der Parameter sicherzustellen, wodurch die Möglichkeit von Fehlern bei der Ausführung des Programms verringert wird.
Der @unique-Dekorator kann uns bei der Überprüfung helfen, um sicherzustellen, dass keine doppelten Werte vorhanden sind.
Um wartbaren Code zu schreiben, können Sie viele Funktionen in verschiedene Dateien gruppieren, sodass der in jeder Datei enthaltene Code relativ kleiner ist. In Python wird eine .py-Datei als Modul (Module) bezeichnet.
Einer der Vorteile von Funktionen besteht darin, dass Sie damit Codeblöcke vom Hauptprogramm trennen können. Indem Sie den Funktionen beschreibende Namen geben, machen Sie das Hauptprogramm viel verständlicher. Sie können noch einen Schritt weiter gehen und die Funktionen in separaten Dateien, sogenannten Modulen, speichern und die Module dann in das Hauptprogramm importieren. Die Importanweisung ermöglicht die Verwendung des Codes im Modul in der aktuell ausgeführten Programmdatei. Durch das Speichern von Funktionen in separaten Dateien können Sie die Details des Programmcodes verbergen und sich auf die übergeordnete Logik des Programms konzentrieren. Dadurch können Sie Funktionen auch in vielen verschiedenen Programmen wiederverwenden. Durch das Speichern von Funktionen in separaten Dateien können Sie diese Dateien mit anderen Programmierern teilen und nicht das gesamte Programm. Wenn Sie wissen, wie man Funktionen importiert, können Sie auch Funktionsbibliotheken verwenden, die von anderen Programmierern geschrieben wurden. Um Konflikte bei Modulnamen zu vermeiden, hat Python eine Methode zum Organisieren von Modulen nach Verzeichnis eingeführt, die als Paket bezeichnet wird. Nach der Einführung des Pakets treten keine Konflikte mit anderen Modulen auf, solange der Paketname der obersten Ebene nicht mit anderen in Konflikt steht. Jetzt wird der Modulname von abc.py zu mycompany.abc und entsprechend wird der Modulname von xyz.py zu mycompany.xyz. Beachten Sie, dass sich unter jedem Paketverzeichnis eine Datei __init__.py befindet. Diese Datei muss vorhanden sein, andernfalls behandelt Python dieses Verzeichnis als normales Verzeichnis und nicht als Paket. __init__.py kann eine leere Datei sein oder Python-Code enthalten, da __init__.py selbst ein Modul ist und sein Modulname mycompany ist. 8.7.1 Gesamtes Modul importieren Um die Funktion importierbar zu machen, müssen Sie zunächst das Modul erstellen. Module sind Dateien mit der Erweiterung .py, die Code enthalten, der in ein Programm importiert werden soll.if __name__=='__main__':
test() |
8.7.2 Geltungsbereich
In einem Modul definieren wir möglicherweise viele Funktionen und Variablen, aber einige Funktionen und Variablen hoffen wir, von anderen verwendet zu werden, und einige Funktionen und Variablen hoffen wir nur verwendet innerhalb des Moduls. In Python wird dies durch das Präfix _ erreicht. Normale Funktions- und Variablennamen sind öffentlich und können direkt referenziert werden, z. B. abc, x123, PI usw.; Variablen wie __xxx__ sind spezielle Variablen und können direkt referenziert werden, haben jedoch spezielle Zwecke, wie z. B. die oben genannten __author__ und __name__ Auf die vom Hello-Modul definierten Dokumentkommentare kann auch mit der speziellen Variablen __doc__ zugegriffen werden. Im Allgemeinen sollten wir diesen Variablennamen nicht für unsere eigenen Variablenfunktionen verwenden, da _xxx und __xxx nicht öffentlich sind. sollten nicht direkt in Anführungszeichen gesetzt werden, wie z. B. _abc, __abc usw.;
def _private_1(name): return 'Hello, %s' % name
def _private_2(name): return 'Hi, %s' % name
def greeting(name): if len(name) > 3: return _private_1(name) else: return _private_2(name) |
def _private_1(name): return 'Hallo, %s' % name def _private_2(name): return 'Hallo, %s' % name def Greeting(name): if len(name) > 3: return _private_1(name) else: return _private_2(name) |
Wir legen die Funktion Greeting() im Modul offen und verbergen die interne Logik mit privaten Funktionen. Auf diese Weise müssen wir uns beim Aufruf der Funktion Greeting() nicht um die Details der internen privaten Funktion kümmern. Dies ist auch eine sehr nützliche Code-Kapselungs- und Abstraktionsmethode, das heißt: Alle Funktionen, auf die nicht von außen verwiesen werden muss, werden als privat definiert, und nur Funktionen, auf die von außen verwiesen werden muss, werden als öffentlich definiert.
Speichern Sie mehrere Funktionen in einem Modul, getrennt durch Kommas. Sie können beliebig viele Funktionen aus dem Modul importieren.
from pizza import make_pizza as mp
Wenn der Name der zu importierenden Funktion möglicherweise mit einem vorhandenen in Konflikt steht Geben Sie im Programm einen Namen ein. Wenn der Name der Funktion zu lang ist, können Sie einen kurzen und eindeutigen Alias angeben – einen anderen Namen für die Funktion, ähnlich einem Spitznamen. Um einer Funktion diesen speziellen Spitznamen zuzuweisen, müssen Sie dies beim Importieren tun.
Sie können auch Aliase für Module angeben. Indem Sie dem Modul einen kurzen Alias geben (z. B. indem Sie dem Pizza-Modul den Alias p zuweisen), können Sie Funktionen im Modul einfacher aufrufen. Im Vergleich zu pizza.make_pizza() ist p.make_pizza() prägnanter.
Durch die Verwendung des Sternchenoperators (*) kann Python alle Funktionen im Modul importieren.
Wenn Sie jedoch ein großes Modul verwenden, das Sie nicht selbst geschrieben haben, ist es am besten, diese Importmethode nicht zu verwenden: Wenn es im Modul Funktionen mit denselben Namen gibt wie die in Ihrem Projekt verwendeten, kann dies der Fall sein zu unerwarteten Ergebnissen führen: Python kann auf mehrere Funktionen oder Variablen mit demselben Namen stoßen und die Funktion überschreiben, anstatt alle Funktionen separat zu importieren.
Beim Schreiben von Funktionen müssen Sie mehrere Details im Auge behalten.
1. Funktionen sollten beschreibende Namen erhalten und nur Kleinbuchstaben und Unterstriche verwenden. Beschreibende Namen helfen Ihnen und anderen zu verstehen, was der Code bewirken soll. Die obige Konvention sollte auch bei der Benennung von Modulen befolgt werden.
2. Jede Funktion sollte einen Kommentar enthalten, der ihre Funktion kurz erklärt. Der Kommentar sollte der Funktionsdefinition folgen und das docstring-Format verwenden. Eine gut dokumentierte Funktion ermöglicht es anderen Programmierern, sie einfach durch Lesen der Beschreibung im Dokumentstring zu verwenden: Sie können darauf vertrauen, dass der Code wie beschrieben funktioniert, solange sie den Namen der Funktion, die erforderlichen Argumente und den Typ kennen Den Rückgabewert können Sie in Ihren eigenen Programmen verwenden.
3.Bei der Angabe eines Standardwerts für einen formalen Parameter dürfen auf beiden Seiten des Gleichheitszeichens keine Leerzeichen stehen.
Das obige ist der detaillierte Inhalt vonEinführung in die Python-Grundlagen – Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!