10 Tipps für die Python-Entwicklung

巴扎黑
Freigeben: 2017-03-29 15:46:55
Original
1184 Leute haben es durchsucht

Hier sind zehn nützliche Tipps und Tricks in Python. Einige davon sind häufige Fehler, die Anfänger beim Erlernen der Sprache machen.

Hinweis: Angenommen, wir verwenden alle Python 3

1. Listenverständnis

​Sie haben eine Liste: bag = [1, 2, 3, 4, 5]

Nun möchten Sie alle Elemente verdoppeln, sodass es so aussieht: [2, 4, 6, 8, 10]

Die meisten Anfänger werden dies wahrscheinlich aufgrund ihrer bisherigen Spracherfahrung tun

bag = [1, 2, 3, 4, 5]  
for i in range(len(bag)):  
    bag[i] = bag[i] * 2
Nach dem Login kopieren

​Aber es gibt einen besseren Weg:

bag = [elem * 2 for elem in bag]
Nach dem Login kopieren

Ganz einfach, oder? Dies wird als Python-Listenverständnis bezeichnet.

Klicken Sie auf das Tutorial von Trey Hunner, um weitere Einführungen zum Listenverständnis zu erhalten.

2. Durchlaufen Sie die Liste

Fahren Sie mit der obigen Liste fort.

Vermeiden Sie dies nach Möglichkeit:

bag = [1, 2, 3, 4, 5]  
for i in range(len(bag)):  
    print(bag[i])
Nach dem Login kopieren

Stattdessen sollte es so lauten:

bag = [1, 2, 3, 4, 5]  
for i in bag:  
    print(i)
Nach dem Login kopieren

Wenn x eine Liste ist, können Sie über ihre Elemente iterieren. In den meisten Fällen benötigen Sie nicht den Index jedes Elements, aber wenn nötig, verwenden Sie die Enumerate-Funktion. Es sieht wie folgt aus:

bag = [1, 2, 3, 4, 5]  
for index, element in enumerate(bag):  
    print(index, element)
Nach dem Login kopieren

Sehr intuitiv und klar.

3. Elementaustausch

Wenn Sie von Java oder C auf Python umsteigen, sind Sie vielleicht daran gewöhnt:

a = 5  
b = 10

# 交换 a 和 b
tmp = a  
a = b  
b = tmp
Nach dem Login kopieren

Aber Python bietet einen natürlicheren und besseren Weg!

a = 5  
b = 10  
# 交换a 和 b
a, b = b, a
Nach dem Login kopieren

Hübsch genug, oder?

4. Initialisierungsliste

Wenn Sie eine Liste mit 10 ganzen Zahlen 0 möchten, denken Sie vielleicht zuerst an:

bag = []  
for _ in range(10):  
    bag.append(0)
Nach dem Login kopieren

Versuchen wir es anders:

bag = [0] * 10
Nach dem Login kopieren

Schauen Sie, wie elegant.

Hinweis: Wenn Ihre Liste Listen enthält, wird dadurch eine flache Kopie erstellt.

Zum Beispiel:

bag_of_bags = [[0]] * 5 # [[0], [0], [0], [0], [0]]  
bag_of_bags[0][0] = 1 # [[1], [1], [1], [1], [1]]
Nach dem Login kopieren

Hoppla! Alle Listen werden geändert, und wir möchten nur die erste Liste ändern.

Ändern Sie es:

bag_of_bags = [[0] for _ in range(5)]  
# [[0], [0], [0], [0], [0]]

bag_of_bags[0][0] = 1  
# [[1], [0], [0], [0], [0]]
Nach dem Login kopieren

Denken Sie auch daran:

„Vorzeitige Optimierung ist die Wurzel allen Übels“
Fragen Sie sich: Ist die Initialisierung einer Liste notwendig?

5. Konstruieren Sie die Zeichenfolge

Sie müssen häufig Zeichenfolgen drucken. Wenn viele Variablen vorhanden sind, vermeiden Sie Folgendes:

name = "Raymond"  
age = 22  
born_in = "Oakland, CA"  
string = "Hello my name is " + name + "and I'm " + str(age) + " years old. I was born in " + born_in + "."  
print(string)
Nach dem Login kopieren

Ähm, wie chaotisch sieht das aus? Sie können stattdessen eine nette und prägnante Methode verwenden, .format.

Tun Sie dies:

name = "Raymond"  
age = 22  
born_in = "Oakland, CA"  
string = "Hello my name is {0} and I'm {1} years old. I was born in {2}.".format(name, age, born_in) 
print(string)
Nach dem Login kopieren

Viel besser!

6. Tupel zurückgeben

Mit Python können Sie mehrere Elemente in einer Funktion zurückgeben, was das Leben einfacher macht. Beim Entpacken von Tupeln treten jedoch häufig Fehler auf:

def binary():  
    return 0, 1

result = binary()  
zero = result[0]  
one = result[1]
Nach dem Login kopieren

Dies ist nicht erforderlich, Sie können es wie folgt ändern:

def binary():  
    return 0, 1

zero, one = binary()
Nach dem Login kopieren

Wenn alle Elemente zurückgegeben werden sollen, verwenden Sie einen Unterstrich_:

zero, _ = binary()
Nach dem Login kopieren

Es ist so effizient!

7. Zugriff auf Diktate

Sie werden auch häufig Schlüssel und Paare (Schlüssel, Werte) in Diktate schreiben.

Wenn Sie versuchen, auf einen Schlüssel zuzugreifen, der nicht im Diktat vorhanden ist, können Sie KeyError-Fehler vermeiden, indem Sie Folgendes tun:

countr = {}  
bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]  
for i in bag:  
    if i in countr:
        countr[i] += 1
    else:
        countr[i] = 1

for i in range(10):  
    if i in countr:
        print("Count of {}: {}".format(i, countr[i]))
    else:
        print("Count of {}: {}".format(i, 0))
Nach dem Login kopieren

Die Verwendung von get() ist jedoch eine bessere Möglichkeit.

countr = {}  
bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]  
for i in bag:  
    countr[i] = countr.get(i, 0) + 1

for i in range(10):  
    print("Count of {}: {}".format(i, countr.get(i, 0)))
Nach dem Login kopieren

Natürlich können Sie stattdessen auch setdefault verwenden.

Dies ist eine einfachere, aber teurere Methode:

bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]  
countr = dict([(num, bag.count(num)) for num in bag])

for i in range(10):  
    print("Count of {}: {}".format(i, countr.get(i, 0)))
Nach dem Login kopieren

Sie können auch die Diktatableitung verwenden.

countr = {num: bag.count(num) for num in bag}
Nach dem Login kopieren

Diese beiden Methoden sind teuer, da sie die Liste bei jedem Aufruf von count durchlaufen.

8. Bibliothek verwenden

Importieren Sie einfach vorhandene Bibliotheken und Sie können tun, was Sie wirklich wollen.

​Wenn wir noch über das vorherige Beispiel reden, bauen wir eine Funktion, um zu zählen, wie oft eine Zahl in einer Liste erscheint. Nun, es gibt bereits eine Bibliothek, die so etwas kann.

from collections import Counter  
bag = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]  
countr = Counter(bag)

for i in range(10):  
    print("Count of {}: {}".format(i, countr[i]))
Nach dem Login kopieren

Einige Gründe für die Nutzung der Bibliothek:

  • Der Code ist korrekt und getestet.

  • Ihr Algorithmus ist möglicherweise optimal und läuft schneller.

  • Abstraktionen: Sie sind klar und gut dokumentiert, und Sie können sich auf das konzentrieren, was noch nicht implementiert wurde.

  • Endlich ist alles da, Sie müssen das Rad nicht neu erfinden.

9. Slicing/Stepping in der Liste

Sie können den Startpunkt und den Stopppunkt angeben, wie in dieser Liste[start:stop:step]. Wir nehmen die ersten 5 Elemente aus der Liste heraus:

bag = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  
for elem in bag[:5]:  
    print(elem)
Nach dem Login kopieren

Dies ist ein Slicing. Wir geben den Stopppunkt auf 5 an, und vor dem Stoppen werden 5 Elemente aus der Liste entfernt.

Was tun mit den letzten 5 Elementen?

bag = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  
for elem in bag[-5:]:  
    print(elem)
Nach dem Login kopieren

Verstehst du nicht? -5 bedeutet, dass 5 Elemente vom Ende der Liste übernommen werden.

Wenn Sie die Intervalle zwischen Elementen in der Liste bearbeiten möchten, können Sie Folgendes tun:

bag = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  
for index, elem in enumerate(bag):  
    if index % 2 == 0:
        print(elem)
Nach dem Login kopieren

​Aber Sie sollten es so machen:

bag = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  
for elem in bag[::2]:  
    print(elem)

# 或者用 ranges
bag = list(range(0,10,2))  
print(bag)
Nach dem Login kopieren

Dies ist der Schritt in der Liste. list[::2] bedeutet, die Liste zu durchlaufen und ein Element in zwei Schritten zu entfernen.

Mit list[::-1] können Sie eine coole Flip-Liste erstellen.

10. Tab-Taste oder Leertaste

Auf lange Sicht kann das Mischen von Tabulatoren und Leerzeichen zu einer Katastrophe führen, und Sie werden die Fehlermeldung „IndentationError: unerwarteter Einzug“ erhalten. Unabhängig davon, ob Sie die Tabulatortaste oder die Leertaste wählen, sollten Sie sie in Ihren Dateien und Projekten weiterhin verwenden.

Ein Grund für die Verwendung von Leerzeichen anstelle von Tabulatoren besteht darin, dass Tabulatoren nicht in allen Editoren gleich erstellt werden. Abhängig vom verwendeten Editor können Tabulatoren als 2 bis 8 Leerzeichen behandelt werden.

Sie können beim Schreiben von Code auch Leerzeichen verwenden, um Tabulatoren zu definieren. Auf diese Weise können Sie auswählen, wie viele Leerzeichen als Tabulatoren verwendet werden sollen. Die meisten Python-Benutzer verwenden 4 Leerzeichen.

Englischer Originaltext: The Python Way: 10 Tips

Das obige ist der detaillierte Inhalt von10 Tipps für die Python-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage