Teilen Sie zehn Dinge mit, die Sie bei der Entwicklung von Python beachten sollten

高洛峰
Freigeben: 2017-03-28 15:50:09
Original
1441 Leute haben es durchsucht

Ob es sich um die Python-Entwicklung oder die Entwicklung einer anderen Sprache handelt, wenn wir während der Entwicklung einige nützliche Tipps und Techniken beherrschen, wird dies unsere Entwicklungseffizienz heute, den Editor und alle anderen auf jeden Fall erheblich verbessern Ich teile einige häufige Fehler, die Anfänger beim Erlernen der Sprache in der Python-Entwicklung häufig machen.

">

Bitte beachten Sie: In diesem Artikel wird davon ausgegangen, dass wir alle Python 3 verwenden

1. Listenverständnis

Sie haben ein list: bag = [1, 2, 3, 4, 5]

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

Die meisten Anfänger werden es aufgrund ihrer bisherigen Spracherfahrung wahrscheinlich so machen

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.

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 aussehen:

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 Sie müssen Verwenden Sie dazu die Aufzählungsfunktion. Sie sieht so aus:

bag = [1, 2, 3, 4, 5] 
for index, element in enumerate(bag): 
 print(index, element)
Nach dem Login kopieren
Es ist sehr intuitiv und klar. 3. Elementaustausch

Java oder

C-Sprache

zu Python, Sie sind vielleicht daran gewöhnt:

Aber Python bietet eine natürlichere und bessere Methode

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

Ist nicht so! Ist es nicht schön genug?

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

Wenn Sie eine Liste mit 10

Ganzzahlen

0 möchten, fällt Ihnen vielleicht als Erstes Folgendes ein:

Versuchen wir es anders:

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

Sehen Sie, wie elegant es ist

bag = [0] * 10
Nach dem Login kopieren
Hinweis: Wenn Ihre Liste eine Liste enthält, führt dies zu oberflächlichen Ergebnissen.

Zum Beispiel:

Ups! Alle Listen wurden geändert, und wir möchten nur die erste ändern:

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

Denken Sie auch daran:

„Vorzeitige Optimierung ist die Wurzel allen Übels“

Fragen Sie sich, ist das Initialisieren einer Liste notwendig? >5. Konstrukt
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

Sie müssen oft drucken Wenn es viele

Variablen
gibt, vermeiden Sie Folgendes:

Ähm, wie chaotisch sieht das stattdessen aus? .format:

Viel besser! Python ermöglicht die Rückgabe mehrerer Elemente in einer Funktion, was das Leben jedoch

häufig macht beim Entpacken von Tupeln<.>:
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

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

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
Wenn alle Elemente zurückgegeben werden sollen, verwenden Sie einen Unterstrich_ :

Es ist so effizient!

7. Zugriff auf Diktate (Wörterbücher) Sie werden auch oft

Schlüssel
def binary(): 
 return 0, 1
result = binary() 
zero = result[0] 
one = result[1]
Nach dem Login kopieren
, Paar (Schlüssel, Wert) zu Diktaten schreiben.

Wenn Sie versuchen, auf einen Schlüssel zuzugreifen, der nicht im Diktat vorhanden ist, könnten Sie versucht sein, dies zu tun, um einen KeyError zu vermeiden:
def binary(): 
 return 0, 1
zero, one = binary()
Nach dem Login kopieren

Die Verwendung von get() ist jedoch mehr effizient Gute Idee.
zero, _ = binary()
Nach dem Login kopieren

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

Hierbei wird auch eine einfachere, aber teurere Methode verwendet:

Sie können auch die Diktatableitung verwenden.

Diese beiden Methoden sind teuer, da sie die Liste bei jedem Aufruf von count durchlaufen.
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

8 Bibliotheken verwenden

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
Vorhandene Bibliotheken müssen nur importiert werden und schon können Sie tun, was Sie wirklich wollen.

Apropos vorheriges Beispiel: Wir erstellen eine Funktion, um zu zählen, wie oft eine Zahl in der Liste erscheint. Nun, es gibt bereits eine Bibliothek, die so etwas kann.

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
Einige Gründe für die Nutzung der Bibliothek:

1. Der Code ist korrekt und getestet.
countr = {num: bag.count(num) for num in bag}
Nach dem Login kopieren

2. Ihr Algorithmus ist möglicherweise optimal, sodass er schneller ausgeführt werden kann.

3. Abstraktion: Sie sind klar und gut dokumentiert, und Sie können sich auf diejenigen konzentrieren, die noch nicht implementiert wurden.

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

9. Slicing/Stepping in einer Liste

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
Sie können den Startpunkt und den Stopppunkt angeben, wie in dieser Liste[start:stop:step].

Wir entfernen die ersten 5 Elemente aus der Liste:

Das ist Slicing, wir legen den Stopppunkt bei 5 fest und vor dem Stoppen werden 5 Elemente aus der Liste entfernt .

Was tun mit den letzten 5 Elementen?

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

Wenn Sie Intervalle in einer Liste bearbeiten möchten, könnten Sie Folgendes tun:

Aber Sie sollten es so machen:

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

Das ist Eine Liste tritt ein. list[::2] bedeutet, die Liste zu durchlaufen und ein Element in zwei Schritten zu entfernen.

Sie können list[::-1] verwenden, um eine coole Flip-Liste zu erstellen.

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

Auf lange Sicht führt das Mischen von Tabulatoren und Leerzeichen zu einer Katastrophe, und Sie werden die Meldung „IndentationError: unerwarteter Einzug“ sehen. 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 ist, dass Tabulatoren nicht in allen Editoren gleich sind. 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.

Zusammenfassung

Die oben genannten Tipps sollten Sie bei der Python-Entwicklung beachten. Ich hoffe, dass sie für alle beim Erlernen und Verwenden von Python hilfreich sind Hinterlassen Sie eine Nachricht, um zu kommunizieren.

Das obige ist der detaillierte Inhalt vonTeilen Sie zehn Dinge mit, die Sie bei der Entwicklung von Python beachten sollten. 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