Heim >Backend-Entwicklung >Python-Tutorial >Python ist scheiße bei For-Schleifen – und genau deshalb lieben wir es

Python ist scheiße bei For-Schleifen – und genau deshalb lieben wir es

DDD
DDDOriginal
2025-01-12 08:07:41575Durchsuche

Python Sucks at For Loops – And That’s Exactly Why We Love It

Python, die elegante Katze in der Welt der Programmiersprachen: unabhängig, anspruchsvoll und scheinbar braucht Sie Sie nicht, bis es wirklich so ist. Diese Eigenschaft spiegelt sich am deutlichsten in der for-Schleife wider, die einem sofort das Gefühl geben kann, ein Genie und ein Idiot zu sein.

Es ist nicht so, dass die for-Schleife von Python schlecht wäre, es ist nur so, dass sie zu gut darin ist, so zu tun, als wüsste sie es besser als Sie.

  1. Das Zen von Python: „Tu weniger, Narr“

For-Schleifen sind in den meisten Programmiersprachen intuitiv. Möchten Sie bis 10 zählen? Kein Problem, geben Sie Ihnen eine Menge Standardcode, damit Sie sich schlau fühlen.

So schreiben Sie in der C-Sprache:

<code class="language-c">for (int i = 0; i < 10; i++) {
    printf("%d\n", i);
}</code>

Einfach, vorhersehbar und respektvoll gegenüber Ihrem IQ.

Und Python sagt:

„Warum sollten Sie sich die Mühe machen, i zu definieren, einen Bereich anzugeben oder Grundrechenarten durchzuführen? Ich werde Ihnen das alles darlegen, damit Sie erleben können, wie es ist, ein falscher Programmierer zu sein.“

Python-Version:

<code class="language-python">for i in range(10):
    print(i)</code>

Das ist es. Keine Deklarationen, keine Klammern, nur „Vibe“. Pythons for-Schleife ist so einfach, dass sie sich ein wenig falsch anfühlt.


  1. Python ist mehr als das: Es möchte, dass Sie weniger tun

Angenommen, Sie haben eine Liste mit Früchten und möchten diese ausdrucken.

C-Sprachversion (wieder sehr respektvoll):

<code class="language-c">char* fruits[] = {"apple", "banana", "cherry"};
for (int i = 0; i < 3; i++) {
    printf("%s\n", fruits[i]);
}</code>

Python-Version:

<code class="language-python">fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)</code>

Ist dir etwas aufgefallen? Python macht sich nicht einmal die Mühe, Ihnen einen Index zu geben. Es wirft einfach das gesamte Element auf Sie, wie ein Frisbee, und sagt: „Hier, kümmern Sie sich darum.“

Möchten Sie Ihren Einfallsreichtum unter Beweis stellen, indem Sie eine Liste manuell indizieren? Schade. Python weiß bereits, was Sie wollen und gibt es Ihnen direkt weiter.


    Listenverständnis: der Terminator der for-Schleife

Pythons

Listenverständnis ist das Grab von for-Schleifen.

Möchten Sie eine neue Liste erstellen, in der jede Zahl verdoppelt wird? In jeder anderen Sprache würde dies 3 bis 4 Zeilen Code erfordern. Python demonstriert ganz einfach seine Fähigkeiten im Bereich der einzeiligen Codierung:

<code class="language-python">doubled = [x * 2 for x in range(10)]</code>
Das ist nicht nur

effizient, es gibt Ihnen auch das Gefühl, Code in einer geheimen Programmiersprache zu schreiben, die Normalsterbliche niemals verstehen werden. Aber der Preis ist: Ihre for-Schleife sieht jetzt aus wie ein kryptisches Kreuzworträtsel.

Beispiel:

<code class="language-python">results = [f"Employee-{i}" for i in range(10) if i % 2 == 0]</code>
Herzlichen Glückwunsch! Sie haben gerade eine Codezeile geschrieben und zwei Wochen später wissen Sie nicht einmal, was das bedeutet.


    „Lass uns zum Spaß Sachen zerstören“

Pythons for-Schleife betrügt Sie auch gerne auf subtile Weise. Das ist ein klassischer Fehler:

Unerwartete Variablenüberschreibung

<code class="language-c">for (int i = 0; i < 10; i++) {
    printf("%d\n", i);
}</code>

Warte, was? Haben wir nicht alles durch „Ananas“ ersetzt? NEIN! Python kichert in der Ecke, weil fruit nur eine temporäre Variable ist. Die eigentliche Liste wird nicht geändert.

In der Zwischenzeit schmunzeln JavaScript-Entwickler, weil sie wissen, dass sie mit Problemen mit dem variablen Bereich ganze Produktionssysteme zum Absturz bringen können.


  1. aufzählen: Der MVP, den wir nicht verdienen

Manchmal benötigen Sie sowohl einen Index als auch einen Wert. Python hätte dazu führen können, dass Sie wie andere Sprachen langweiliges i verwenden. Aber es gibt Ihnen enumerate(), was eher nach einem Unternehmensbegriff als nach einer Programmierfunktion klingt.

<code class="language-python">for i in range(10):
    print(i)</code>

"aufzählen". Wirklich? Python, das ist keine Vorstandssitzung. Entspannen Sie sich einfach.


  1. Python-Schleife funktioniert plötzlich... nicht mehr

Möchten Sie eine Liste ändern, während Sie sie durchlaufen? Python wird Sie ausdruckslos ansehen und sagen:

„Du überdenkst.“

Beispiel:

<code class="language-c">char* fruits[] = {"apple", "banana", "cherry"};
for (int i = 0; i < 3; i++) {
    printf("%s\n", fruits[i]);
}</code>

Es fehlen jetzt Elemente in der Liste, weil Python unterwegs verloren gegangen ist. Wenn Python ein Kellner wäre, wäre das so, als würde man den Tisch abräumen, bevor man überhaupt mit dem Essen fertig ist.


  1. Eine Endlosschleife, die keine Endlosschleife ist

Versuchen Sie, eine klassische Endlosschleife in Python zu schreiben. Weißt du, zum Spaß. So schreiben Sie es in C-Sprache:

<code class="language-python">fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)</code>

Das Folgende ist die Python-Version:

<code class="language-python">doubled = [x * 2 for x in range(10)]</code>

Es funktioniert, aber es fühlt sich komisch an. Python versucht nicht einmal, eine klassische Endlosschleife zu emulieren. Es ist einfach eine...unendliche Wahrheit.


Fazit: Pythons for-Schleife ist nicht schlecht – Nur ​​wir können das nicht

Die Wahrheit ist, dass die for-Schleife von Python gar nicht so schlecht ist. Es ist nur so, dass wir selbst verwöhnt sind. Die Schleifen von Python sind so intuitiv, prägnant und leistungsstark, dass wir den Aufwand vergessen, Indizes manuell zu verfolgen oder mit Segfaults umzugehen.

Wenn Sie sich also das nächste Mal über die for-Schleifen von Python beschweren, denken Sie daran: Python ist nicht schrecklich. Es ist einfach langweilig, deine Hand zu halten.

Das obige ist der detaillierte Inhalt vonPython ist scheiße bei For-Schleifen – und genau deshalb lieben wir es. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn