Mindmap-Galerie Grundlegende Python-Wissenspunkte
Dies ist eine Mindmap über die Grundlagen von Python. Der Hauptinhalt umfasst: 11-Testcode, 10-Dateien und Ausnahmen, 9-Klassen, 8-Funktionen, 7-Benutzereingaben und -while, 6-Wörterbücher, 5-if-Anweisungen , 4-Operationsliste, 3-Listen-Einführung, 2-Variablen und Datentypen, 1-erste Schritte.
Bearbeitet um 2024-11-21 10:22:32これは、この本を理解して読むのに役立つ、「ジェーン・エア」の登場人物の関係性を分析したマインドマップです。非常に実用的で、収集する価値があります。
これは時間を友達として扱うことについてのマインド マップです。「時間を友達として扱う」は、時間管理と個人の成長に関する実践的なガイドです。著者のリー・シャオライは、豊富なストーリーと鮮やかな例を通じて、先延ばしを克服し、効率を高め、将来の計画を立てる方法に関する実践的なスキルを読者に教えます。この本は、将来に向けて奮闘している若者だけでなく、時間を上手に管理して個人的な成長を遂げたいと願うすべての人にも適しています。
効率的にコミュニケーションをとり、日常業務におけるコミュニケーション上の困難を回避し、会話スキルを向上させるにはどうすればよいでしょうか? 「Crucial Conversations」は、2012 年に Mechanical Industry Press から出版された本です。著者は、(米国) Corey Patterson、Joseph Graney、Ron McMillan、Al Switzler です。この本は、人々の話す、聞く、および行動のスキルについても分析しています。コミュニケーションにおける一般的な盲点を、読者ができるだけ早くこれらのスキルを習得できるように、会話のシチュエーションや短編小説で補います。これがお役に立てば幸いです!
これは、この本を理解して読むのに役立つ、「ジェーン・エア」の登場人物の関係性を分析したマインドマップです。非常に実用的で、収集する価値があります。
これは時間を友達として扱うことについてのマインド マップです。「時間を友達として扱う」は、時間管理と個人の成長に関する実践的なガイドです。著者のリー・シャオライは、豊富なストーリーと鮮やかな例を通じて、先延ばしを克服し、効率を高め、将来の計画を立てる方法に関する実践的なスキルを読者に教えます。この本は、将来に向けて奮闘している若者だけでなく、時間を上手に管理して個人的な成長を遂げたいと願うすべての人にも適しています。
効率的にコミュニケーションをとり、日常業務におけるコミュニケーション上の困難を回避し、会話スキルを向上させるにはどうすればよいでしょうか? 「Crucial Conversations」は、2012 年に Mechanical Industry Press から出版された本です。著者は、(米国) Corey Patterson、Joseph Graney、Ron McMillan、Al Switzler です。この本は、人々の話す、聞く、および行動のスキルについても分析しています。コミュニケーションにおける一般的な盲点を、読者ができるだけ早くこれらのスキルを習得できるように、会話のシチュエーションや短編小説で補います。これがお役に立てば幸いです!
Python-Grundlagen
1-Start
Installieren Sie Python 3.x
Code-Editor installieren
Hallo Word
2-Variablen und Datentypen
Variable
Name und Verwendung
Variablennamen dürfen nur Buchstaben, Zahlen und Unterstriche enthalten und das erste Zeichen darf keine Zahl sein.
Variablennamen dürfen keine für Python reservierten Wörter (Schlüsselwörter) sein.
Variablennamen sollten kurz und klar sein
student_age
stu_class
stu_sex
...
Behandlung von Benennungsfehlern
Tippfehler beim Aufruf von Variablen
Achten Sie auf Traceback-Informationen
Variablenname ist label
Eine Variable ist ein Raum zum Speichern von Daten, ähnlich einer Dateitasche (Variable). Die Daten (Variablenwert) werden in der Dateitasche (Variable) abgelegt.
Über das Etikett (Variablenname) auf dem Dateibeutel können Sie den dem Etikett entsprechenden Dateibeutel (Variable) finden und die Datendatei (Variablenwert) zur Verwendung aus dem Dateibeutel herausnehmen.
Zeichenfolge
Ändern Sie die Groß- und Kleinschreibung der Zeichenfolge
.Titel()
.obere()
.untere()
Verwendung von Variablen in Strings
str = f"{value_name} ist {value}";
x = 10; x_name = 'x'; full_str = f"{x_name} ist {x}";
Zeichenfolge formatieren
str = f"{value_name} ist {value}";
str = "{} ist {}".format(value_name,value");
Fügen Sie Zeilenumbrüche und Tabulatoren in Zeichenfolgen ein
Ähnlich wie C
Nachgestellte Leerzeichen entfernen
.rstrip()
str = str.rstrip();
Nummer
ganze Zahl
schweben
Konstante
Python hat keine konstanten Typen
Variablen, deren Namen ausschließlich in Großbuchstaben geschrieben sind, werden im Allgemeinen als Konstanten betrachtet.
Konstanten werden während der Ausführung des Programms nicht geändert
Kommentar
Kommentare sind Texte im Code, die nicht ausgeführt werden und Teil des Codes sind
Gute Kommentare können die Lesbarkeit Ihres Codes verbessern
Bei Text, der mit „#“ beginnt, wird die gesamte Zeile als Kommentar behandelt und bei der Ausführung ignoriert.
3-Listen-Einführung
Listendefinition
list = [elem1,elem2,...,]
Liste[i]
Listen werden beginnend bei 0 indiziert, d. h. das erste Element einer nicht leeren Liste ist list[0]
Familie = ["abs", "ppo", "pva", "pe"]; message = „Der erste Ploymer ist {}“.format(family[0].upper()); print(Nachricht);
Elemente hinzufügen, ändern, löschen
Element hinzufügen
Am Ende der Liste hinzufügen
.append(Wert)
Familie = ["abs", "ppo", "pva", "pe"]; Family.append("aibn"); print(Familie);
in Liste einfügen
.insert(i,Wert)
Familie = ["abs", "ppo", "pva", "pe"]; Family.insert(0,"aibn"); print(Familie);
Elemente ändern
list[i] = neuer_Wert
Familie = ["abs", "ppo", "pva", "pe"]; Familie[0] = "aibn"; print(Familie);
Element löschen
.Pop()
Pop den Wert des letzten Elements der Warteschlange
.pop(0)
Fügt den Wert des Elements an der angegebenen Position ein
.Delikatessen)
Löschen Sie gemäß Index i das Element bei i
.remove(Wert)
Löschen Sie entsprechend dem Wertwert das erste gefundene Element mit dem Wertwert
Organisationsliste
.Sortieren()
Sortieren Sie die Liste und überschreiben Sie den ursprünglichen Listeninhalt
.umkehren()
len()
Funktion zur Berechnung der Länge
Zahlen haben keine Länge
Tabelle, Wörterbuch, String, Tupel
sortiert(Liste)
Sortieren Sie die Liste und geben Sie die neue Liste aus, ohne den Inhalt der alten Tabelle zu ändern.
Das ist eine Funktion
4-Operationsliste
Durchlaufen Sie die Liste
für x in der Liste:
#!/usr/bin/python3 Tiere = ["Hund", "Katze", "Fisch", "Ziege", "Ochse", "Giraffe", "Guoqing"]; für Tiere bei Tieren: print(f"Das Tier ist {animal.title()}"); print(f"Denke, du ,{animal.upper()}",end = ' '); print("Das ist alles!!");
py steuert den Codelaufbereich durch Einrückungen/Leerzeichen
Werteliste
Bereich (Start, Stopp, Schritt)
#Erstellen Sie eine Liste mit Zahlen von 0 bis 99 und drucken Sie sie aus Zahl = Bereich(0,100); denn ich in Zahl: print(i); print("Ende");
max(), min(), sum()
#Erstellen Sie eine Liste mit Zahlen von 0 bis 99 und drucken Sie sie aus Zahl = Bereich(0,100); denn ich in Zahl: print(i,end = ' '); print("Ende"); print("Die maximale Anzahl dieser Liste ist {}".format(max(number))); print("Die Mindestanzahl dieser Liste ist {}".format(min(number))); print("Die Summe dieser Liste ist {}".format(sum(number)));
Listenverständnis
zahlen = [Wert**3 für Wert im Bereich (0,50,2)]; print(Zahlen);
Eine Anweisungszeile führt mehrere Schritte durch
Teil der Liste verwenden
Beleg
list[start:stop:step]
Namen = ["julia", "jack", "pony", "petter", "dick", "lun"]; für Name in Namen[1:4:2]: print(name); print("end".upper());
Kopie
Liste1 = Liste2[:]
Namen = ["julia", "jack", "pony", "petter", "dick", "lun"]; Alias = Namen; print(alias); Namen.append("yasin"); print("Namen:",Namen); print("alias:",alias); #Hier kann bewiesen werden, dass der Variablenname die Bezeichnung der Variablen ist und der Name und der Alias hier zwei verschiedene Bezeichnungen derselben Variablen sind. alias = alias[:]; Namen.pop(); print("Namen:",Namen); print("alias:",alias); #Verwenden Sie list1 = list2[:], um wirklich eine andere Liste zu erstellen print("end".upper());
Unveränderliche Liste – Tupel
tuple_name = (elem1,elem2,elem3,...)
Tupel ändern
neu definieren
Lebensmittel = („mapo“, „hoguo“, „jiaozi“); print("Das Menü folgt:",end =''); für Lebensmittel in Lebensmitteln: print(food,end = ' '); print(end = ' '); #Tupel neu definieren Lebensmittel = („Liebe“, „Frieden“, „Neid“); print("Das Menü folgt:",end =''); für Lebensmittel in Lebensmitteln: print(food,end = ' '); print(end = ' ');
Elemente in einem Tupel ändern
Tupel = (1,2,3,[4,5,6]) für i im Tupel: print(i); #Wenn das Tupel variable Elemente enthält, können die variablen Elemente geändert werden. tupel[3].append(7); für i im Tupel: print(i);
5-if-Anweisung
Zustandstest
wenn A == B: Funktion1(); elif A == C: Funktion2(): anders: Ausfahrt();
==
!=
>=
<=
>
<
wenn A in B: Funktion(A); anders: Ausfahrt();
In
Und
nicht
oder
if-Anweisung
wenn Bedingung == Wahr: Aktionen();
wenn Bedingung == Wahr: Aktion1(); anders: Aktion2();
wenn Bedingung1: Aktion1(); elif Bedingung2: Aktion2(); ..... anders: default_action();
Prozessliste
für Element in der Liste: wenn Element == Bedingung: Aktion1(); anders: Aktion2();
wenn Liste: print("NICHT LEER"); anders: print("EMPTY");
6-Wörterbuch
Wörterbuch verwenden
dictionary = { key1:value1,key2,value2,...}
Definitionswörterbuch
Wörterbuch = {}
Erstellen Sie ein leeres Wörterbuch
Wert = Wörterbuch[Schlüssel]
Wörterbuch verwenden
Wörterbuch[Schlüssel3] = Wert3
Fügen Sie Schlüssel-Wert-Paare hinzu
Wenn key3 vorhanden ist, ändern Sie den Schlüsselwert von key3.
del dictionary[Schlüssel]
Schlüssel-Wert-Paar löschen
.get(Schlüssel,Standardwert)
Die Methode .get() ruft den Wörterbuchschlüsselwert ab
Traverse-Wörterbuch
.Artikel()
Durchlaufen Sie Schlüssel-Wert-Paare in einem Wörterbuch
für k,v in dictionary.items(): print(f"{k}:{v}");
.keys()
Durchlaufen Sie die Schlüssel in einem Wörterbuch
.Werte()
Durchlaufen Sie die Werte in einem Wörterbuch
Verschachtelte Definitionen
Wörterbuchliste
dictionary1 = {key_a1:value_a1,key_a2:value_a2}; dictionary2 = {key_b1:value_b1,key_b2:value_b2}; dictionary3 = {key_c1:value_c1,key_c2:value_c2}; list = [Wörterbuch1, Wörterbuch2, Wörterbuch3]; für Element in der Liste: print(item);
Listenwörterbuch
dic1 = {"key1":['a','b','c'],"key2":['d','e','f']}; für v in dic1: print(v);
Wörterbuch Wörterbuch
dic = {"key1":{"sub_key1":sub_value1,"sub_key2":sub_value2},...}
Entfernen Sie doppelte Elemente
set(Wörterbuch)
Anders als bei der Sammlung
Sie sind alle durch {```} definiert
Sammlungen haben keine Ordnung
Die Elemente in der Menge werden nicht wiederholt
7-Benutzereingabe und während
Eingang()
get_input = input("prompt")
Kann nur Zeichenfolgen akzeptieren und Zeichenfolgen ausgeben
Sie können andere Funktionen zum Konvertieren von Zeichenfolgen verwenden
num = int(input("Bitte geben Sie eine Zahl ein ")); wenn num == 0: print("{} ist ein Vielfaches von 10.".format(num)); anders: print(f"{num} ist kein Vielfaches von 10.");
während
ich = 0; während i < 5 : print(i); ich = ich 1;
message = ""; while message != "quit": print(Nachricht); message = input("Bitte geben Sie einen Satz ein und ich werde ihn wiederholen ");
flag = True; Nachricht = "" while flag == True: message = input(""); if message == "quit": flag = False; anders: print(Nachricht);
brechen
Brechen Sie aus der Schleife aus und führen Sie die Anweisungen aus, die auf den Schleifenkörper folgen
weitermachen
Ignorieren Sie die verbleibenden Anweisungen in der Schleife und beginnen Sie von vorne
beim Bearbeiten der Liste
list = ["elem1", "elem2", "elem3", "elem1", "elem2"]; während „elem1“ in der Liste: list.remove("elem1");
während der Wörterbuchverarbeitung
active_flag = True; Antwort = {}; while active_flag == True: name = input("Wie heißt du?"); Response[Name] = Input("Was ist dein Hobby?"); if input("Möchten Sie, dass eine andere Person antwortet?") == "Nein": active_flag = False; für n,h in Response.items(): print("{}\s Hobby ist {} ".format(n,h));
8 Funktionen
def fun_name(param1=default_value1,param2=default_value2): Aktion1(param1); action2(param2); Rückkehr res;
def hallo(name = "world",msg = ''): print(f"Hallo {name.title()}.{msg}"); hallo("yasin","Das bin ich!");
Argumente weitergeben
Positionsargument
Python ordnet die Position der eingehenden Parameter der Position zu, an der die Funktionsparameter definiert sind
Python übergibt die Parameter an den entsprechenden Positionen der Reihe nach in die formalen Parameter zum Zeitpunkt der Definition.
Schlüsselwortargumente
fun(param1 = value1,param3 = value3,param2=value2);
Standardwerte für Funktionsparameter
def fun(param1 = "Hallo"); Diese Funktion kann auch aufgerufen werden, indem param1 weggelassen wird
Wegnehmbare Funktionsparameter
def fun(param1,param2 = ''); #Hier kann param2 beim Aufruf weggelassen werden
Rückgabewert
Einfache Parameter zurückgeben
Rückgabewörterbuch
Passliste
Übergeben Sie eine Kopie der Liste
Spaß(Liste[:])
Formale Parameter verändern die ursprüngliche Liste nicht.
Übergeben Sie die gesamte Liste
Spaß(Liste)
Änderungen an der Liste in der Funktion werden in der Liste gespeichert
Übergeben Sie so viele Argumente, wie Sie möchten
def fun(in,*params)
* bedeutet, dass aus allen übrigen übergebenen Parametern ein Tupel erstellt wird
Kombinieren Sie mehrere Arten der Parameterübertragung
def build(first,second,**usw.)
** bedeutet, dass aus den verbleibenden Schlüssel-Wert-Paaren ein Wörterbuch erstellt wird
build("Yasin","Jue",sex="m",weight=120);
Kapselung und Import
Speichern Sie die Funktion als Datei mit dem Suffix .py
Funktionen und Module importieren
aus Dateiname import fun_name
Importieren Sie nur die Funktion fun_name aus file_name
Dateiname importieren
Gesamte Datei importieren
Verwenden Sie Aliase für Funktionen und Module
aus Dateiname importiere fun_name als fun_alias
Dateiname als Dateialias importieren
9-Kategorie
Erstellen und verwenden
Edamame ist ein Hund und Hund ist eine Kategorie, oder kurz Kategorie.
Eine Art Dinge haben oft gemeinsame Eigenschaften, zum Beispiel hat ein Hund vier Beine (Eigenschaften), ein Hund kann bellen (Methoden) usw.
Das Abstrahieren bestimmter Dinge wird als Attribute und Methoden einer Klasse bezeichnet.
Klassenhund: '''Das ist ein Hund'' def __init__(self,name,age): self.name = Name; self.age = Alter; self.legs = 4; def bark(self): print("woof, woof, woof~"); maodou = dog("MaoDou",5); maodou.bark(); print(maodou.age);
Bei der Definition einer Methode muss diese den Formalparameter self enthalten
__init__() ist eine spezielle Methode, die jedes Mal automatisch ausgeführt wird, wenn eine Instanz erstellt wird.
Maodou ist eine Instanz
erben
Hund ist eine große Kategorie, die auch in Unterkategorien wie Zwergspitz, Teddy, Husky, Chuanchuan usw. unterteilt ist.
Edamame ist Chuanchuan, und Chuanchuan ist auch eine Hundeart, daher hat Chuanchuan auch die grundlegenden Eigenschaften eines Hundes.
Chuanchuan ist eine Unterklasse des Hundes und der Hund ist die Elternklasse des Chuanchuan.
Klasse Hund: def __init__(self,age=1,name=""): self.age = Alter; self.name = Name; self.legs = 4; def bark(self): print(f"{self.name}:wowowwo~!"); def sit(self): print(f"{self.name}:sit down"); def set_age(self,new_age=0): self.age = new_age; def set_name(self,new_name=""): self.name = neuer_name; Klasse ChuanChuan(Hund): def __init__(self,father="keji",mother="lachang",age=1,name=""): super().__init__(age,name); self.father = Vater; self.mother = Mutter; def set_father(self,father_name=""): self.father = Vatername; def set_mother(self,mother_name=""): self.mother = Muttername; add_active = True; Hunde = [] #Was der Liste hinzugefügt wird, ist die Adresse, die einen logischen Fehler verursacht. #temp_dog = ChuanChuan(); while add_active == True: temp_dog = ChuanChuan(); temp_dog.set_name(input("Bitte geben Sie den Namen Ihres Hundes ein: ")); temp_dog.set_age(int(input("Bitte geben Sie das Alter Ihres Hundes ein: "))); temp_dog.set_father(input("Bitte geben Sie den Vater Ihres Hundes ein: ")); temp_dog.set_mother(input("Bitte geben Sie die Mutter Ihres Hundes ein: ")); dogs.append(temp_dog); if "no" == input("Möchten Sie einen weiteren Hund hinzufügen? "): add_active = False; anders: print(' '); für mich bei Hunden: print(f"name:{i.name} alter:{i.age} vater:{i.father} mutter:{i.mother}");
Laden und Verwenden von Klassen in Modulen
Alias verwenden
aus Dateiname Klassenname als Alias importieren
Import
Form Dateiname Import Klassenname
Dateiname importieren
aus Dateiname importieren *
10-Dokumente und Ausnahmen
Daten aus Datei lesen
mit open("file_name.tail") als file_object: content = file_object.read()
mit
Schließen Sie Dateien, wenn nicht mehr auf sie zugegriffen wird
offen()
Datei öffnen
Bevor Sie eine Datei drucken, lesen oder andere Schritte zur Bearbeitung durchführen, müssen Sie die Datei zunächst öffnen.
.schließen()
Datei schließen
file_obj = open("test.py"); content = file_obj.read(); print(contents.rstrip()); file_obj.close();
Vollständigen Text lesen
mit open("test_module.py") als test_file: content = test_file.read(); print(contents.rstrip()); test_file.close();
Zeile für Zeile lesen
Zeilen = []; mit open("test_module.py") als test_file: für l in test_file: lines.append(l); print(l);
FILE_NAME = "test.py"; mit open(FILE_NAME) als test_file: lines = test_file.readlines(); für l in Zeilen: full_code = l.rstrip(); print(full_code);
Datei schreiben
open()-Modus
'R'
Lesemodus
Standardmäßig im schreibgeschützten Modus öffnen
'w'
Schreibmodus
Wenn eine Datei mit demselben Namen gefunden wird, wird die Originaldatei gelöscht.
'A'
Zusatzmodus
Wenn die Datei vorhanden ist, hängen Sie sie an das Ende der Datei an. Wenn sie nicht vorhanden ist, erstellen Sie eine neue Datei.
'R '
Lese- und Schreibmodus
SRC_FILE = "test.py" DEST_FILE = "test.txt" mit open(SRC_FILE) als source_file: mit open(DEST_FILE,'w') als destin_file: destin_file.write(source_file.read());
Textverarbeitung
.Teilt()
Teilen Sie Text in Wörter auf
.count("Schlüsselwort")
Zählen Sie, wie oft das Schlüsselwort Schlüsselwort im Text vorkommt
Ausnahmebehandlung
versuchen: Aktion(); außer ErrorInfo: deal_with_errpr(); anders: go_on_without_error();
Fehlertyp
ZeroDivisionError
FileNotFoundError
Scheitert stillschweigend
versuchen: Aktion(); außer ErrorInfo: passieren; anders: go_on_without_error();
#-*- Kodierung: UTF-8 -*- def count_word(*Dateiname): word_num = []; für f in Dateiname: tmp_txt = ""; versuchen: mit open(f,'r',encoding='utf-8') als cur_file: tmp_text = cur_file.read(); außer FileNotFoundError: print(f"Leider existiert die Datei {f} nicht."); word_num.append(-1); passieren anders: word_num.append(len(tmp_text.split())); return word_num; word_in_file = count_word("test.py", "copy_list.py", "test.text", "test_module.py", "non.file"); print(word_in_file);
Daten speichern
JSON
.entsorgen()
.laden()
json importieren file_name = „setting.json“ user_info = {}; user_info["name"] = input("Bitte geben Sie Ihren Namen ein "); user_info["age"] = int(input("Bitte geben Sie Ihr Alter ein ")); user_info["phone"] = input("Bitte geben Sie Ihr Telefon ein "); versuchen: mit open(file_name,'w') as f: für i in user_info.values(): json.dump(i,f); außer FileNotFoundError: passieren
Code-Refactoring
11-Testcode
Unit-Tests
Wichtige Verhaltensweisen für Ihren Code
Vollständige Prüfung
Überlegen Sie noch einmal, wann das Projekt weit verbreitet ist
Unittest
Unittest importieren def get_formatted_name(first,last): return (first '' last).title(); Klasse NameTestCase(unittest.TestCase): '''Funktionalität testen'''' def test_first_last_name(self): format_name = get_formatted_name("yasin","jue"); self.assertEqual(format_name,"Yasin Jue"); if __name__ == "__main__": unittest.main();
__name__ ist eine integrierte Standardvariable. Der Test wird nur ausgeführt, wenn diese Datei die Hauptdatei ist.
Testmethoden müssen in der Form test_ benannt werden
Alle Methoden werden automatisch ausgeführt und müssen nicht manuell aufgerufen werden
Behauptungsmethode
.assertEqual()
gleich
.assertNotEqual()
Kein Warten
.assertTrue()
ist wahr
.assertFalse()
ist falsch
.assertIn()
in der Liste
.assertNotIn()
nicht in der Liste
Testklasse
Unittest importieren Klassenumfrage: def __init__(self,name="",questions=""): self.name = Name; self.questions = Fragen; self.responses = []; def get_usr_name(self): self.name = input("Wie heißt du? "); def store_response(self,new_resp=""): self.response.append(new_resp); def start_survey(self): für q in self.questions: Antwort = Eingabe(q ' '); self.store_response(response); def show_result(self): für q,w in Selbstfragen, Selbstantworten: print(f"Frage:{q}\tAntwort:{w} "); Klasse TestSurveyClass(unittest.TestCase): def test_get_usr_name(self): usr_name = "Testpony"; pony = Survey(usr_name,"test"); self.assertTrue(pony.name == "Testpony"); def test_call_pony_again(self): self.assertEqual(pony.questions,"test"); unittest.main();
.aufstellen()
Erstellen Sie eine Reihe von Beispielen und Ergebnissen, um das Testen zu erleichtern
Klasse TestSurveyClass(unittest.TestCase): def setUp(self): usr_name = "Testpony"; self.pony = Survey(usr_name,"test"); def test_get_usr_name(self): self.assertTrue(self.pony.name == "Testpony"); def test_call_pony_again(self): self.assertEqual(self.pony.questions,"test"); unittest.main();
Funktionen und Methoden
Eine Methode ist eine an ein Objekt angehängte Funktion
Eine Funktion ist ein Ausdruck, der Ein- und Ausgaben hat
Methoden sind Operationen an Objekten
Python-Projektpraxis
Alien-Invasion
Thema
Thema