Mein Kind "Ogyaaogyaa !! Verstehe Python überhaupt nicht !!"
Ich sagte: "Oh, mein Kind, das ein Anfänger von Python ist, versteht Python nicht und ich habe es heute nicht ..."
Ich sagte: "Jeder kann nicht einfach ein Programm in Python erstellen, aber ich glaube nicht, dass die super bequeme Funktion deswegen bekannt ist. Außerdem verstehe ich die Bedeutung nicht, wenn ich versuche, die bequeme Funktion zu verwenden." Ich weiß es nicht. "
Ich sagte: "Deshalb werde ich dieses Mal eine Grammatik einführen, die relativ neu, aber nicht sehr bekannt ist! Jeder scheint ein vollständiges Verständnis von Python anzustreben!"
Ich sagte: "Zuerst wurden die in Version 3.5 hinzugefügten Typhinweise hinzugefügt!"
I "Wissen Sie alle, dass Python eine ** dynamisch typisierte ** Sprache ist?"
Ich sagte: "** Dynamische Eingabe ** bedeutet, dass der Typ automatisch ermittelt wird, ohne den Typ anzugeben!"
Ich sagte: "Zum Beispiel deklarieren Sie in der ** statisch typisierten ** Sprache solche Variablen."
var name str = "nokonoko" //str Typ
var age int = 5 //int type
Ich sagte: "Ich frage mich, ob ich im Voraus entscheiden soll, welcher Wert in die Variable eingegeben wird. Wenn ich einen anderen Typ als den angegebenen Typ eingebe, tritt ein Fehler auf."
I "Auf der anderen Seite Python ..."
name = "nokonoko" #str Typ
age = 5 #int type
Ich sagte: "Auch wenn Sie sich nicht die Mühe machen, den Typnamen so zu deklarieren, können Sie die Variable einfach normal deklarieren und den Typ ohne Erlaubnis festlegen! Python ist praktisch!"
Ich sagte: "Wenn Sie sich das ansehen, ist ** statisch typisiert ** nur ärgerlich ..." Aber warum gibt es immer noch eine statisch typisierte Sprache (eher ist statisch populärer ...?) ... weil es Verdienst hat. Vielleicht ist es ungefähr so viel. "
--Speed: Der Vorgang ist schnell, da die Typbestimmung für den Code bereits abgeschlossen wurde. --Sicherheit: Ein Typ verringert die Wahrscheinlichkeit, dass ein scheinbar unbekannter Fehler auftritt.
Ich sagte: "** Kleiner Maßstab **, wenn Sie es vorerst bewegen, ist es in Ordnung **, ** Geschwindigkeit spielt keine Rolle **, ** wenn Sie sich selbst entwickeln **, ist Ihnen der Typ egal, aber normalerweise ist es so. Es ist nicht. "
Ich sagte: "Es scheint, dass Python geboren wurde, um einfache Skripte zu schreiben, aber aus einer so populären Situation heraus scheint es eine starke Forderung nach einer statischen Typisierung von Python zu geben. Weil es schwierig ist ... Ich wurde mit einem ** Tipp ** geboren! "
Ich sagte: "Es wird so verwendet."
def hello(name: str) -> str:
return f"Hello {name}"
Ich sagte: "Sie können die Typen von Variablen und Funktionsargumenten festlegen und Werte zurückgeben! Wenn Sie jetzt Code mit IDE usw. schreiben, werden Sie gewarnt, wenn Sie Variablen unterschiedlichen Typs als Argumente verwenden. damit!!"
Ich sagte: "Aber es ist nicht wirklich eine getippte Sprache, sie kann ausgeführt werden, also sei vorsichtig!"
Referenz: Eingabe --- Unterstützung für Typhinweise
Docstring
Ich sagte: "Als nächstes kommt Docstring! Dies ist auch eine nützliche Funktion! Mal sehen, was es ist!"
def hello(name):
"""Begrüßen Sie die Person, die Sie in das Argument eingebracht haben"""
return f"Hello {name}"
Ich sagte: "Sie können ein Dokument in Ihren Code einbetten, indem Sie eine in drei Anführungszeichen eingeschlossene Zeichenfolge in eine Funktion (oder ein Klassenmodul) wie diese einfügen!"
Ich sagte: "Dies unterscheidet es von nur einem Kommentar, aber die hier eingebettete Zeichenfolge wird nicht in der speziellen Methode" doc "dieses Objekts gespeichert."
Ich sagte: "Das können Sie mit" help () "im interaktiven Modus tun, um die Dokumentation oder Sphinx anzuzeigen. Wenn Sie verwenden, wird automatisch ein Dokument erstellt und Sie erhalten viele Angebote! Es unterscheidet sich ein bisschen von nur einem Kommentar. "
>>> help(hello)
Help on function hello in module __main__:
hello(name)
Begrüßen Sie die Person, die Sie in das Argument eingebracht haben
Ich sagte: "Mehr !!!!!! Durch Einbetten mehrerer Zeilen Docstring können Sie die Typhinweise schreiben, die ich zuvor in Docstring erklärt habe!"
Ich mag das!"
def hello(name):
"""Begrüßen Sie die Person, die Sie in das Argument eingebracht haben
Args:
name(str):Der Name der Person, die Sie begrüßen möchten
Returns:
str:Schöne Grüße
"""
return f"Hello {name}"
Ich sagte: "Sie können den Typ mit IDE usw. überprüfen, genau wie Sie den Typhinweis damit setzen!"
Ich sagte: "Das, was ich oben geschrieben habe, heißt" Google-Stil ", aber ich kann verschiedene andere Dinge als die Argumente und Rückgabewerte schreiben, und es gibt auch andere Möglichkeiten, es zu schreiben. Wenn Sie also neugierig sind, probieren Sie es aus! ""
Ich sagte: "Es ist praktisch, um mit einer großen Anzahl von Menschen zu entwickeln, also sollte jeder es versuchen!"
__doc __
gespeichertReferenz: PEP 257 - Docstring-Konventionen
f-string
I "Als nächstes wird der in Version 3.6 hinzugefügte F-String (F-String und!) Hinzugefügt."
Ich sagte: "Es gibt zwei Möglichkeiten, eine Variable in eine Zeichenkette einzubetten.
>>> name = "nokonoko"
>>> age = 5
>>> print("{}Ist{}ich bin alt".format(name, age))
Nokiaoko ist 5 Jahre alt
Ich "toka"
>>> print("%s ist%s Jahre alt" % (name, age))
Nokiaoko ist 5 Jahre alt
Ich "Tokayana".
Ich sagte: "Auf diese Weise ... ist es alt."
Ich "Ich kann es jetzt nicht so machen!"
>>> print(f"{name}Ist{age}ich bin alt")
Nokiaoko ist 5 Jahre alt
Ich sagte: "Doya. Ich habe alle Methoden und Symbole, die ich nicht verstehe, gelöscht und es einfacher gemacht!"
Ich sagte: "Mehr. Sie können dies mit Python 3.8 tun."
>>> print(f"name={name}, age={age}") # 3.Bis zu 7
name=nokonoko, age=5
>>> print(f"{name=}, {age=}") # 3.Ab 8
name='nokonoko', age=5
Ich sagte: "Durch Einfügen von" Variablen "und" = "in {} werden die Variablennamen automatisch angezeigt! Dies ist beim Debuggen hilfreich!"
Ich sagte: "Lassen Sie uns dies aktiv nutzen, wenn Sie bequem ein neues Projekt erstellen!"
Referenz: 2.4.3. Formatierte Zeichenfolgenliterale
I "Als nächstes wird der ** Seiuchi-Operator ** in Version 3.8 hinzugefügt!"
Ich sagte: "Der Seiuchi-Operator ist ein Zuweisungsoperator": = ", und es scheint, dass er aufgerufen wurde, weil er von der Seite betrachtet wie Seiuchis Augen und Zähne aussieht!"
Ich "... nun, ich kann es nicht sehen !!!"
Ich sagte: "Eine Funktion, mit der Sie sie vorerst verlassen und einer Variablen in einer if- oder for-Anweisung zuweisen können! Es ist so!"
# 3.Bis zu 7
>>> name = "nokonoko"
>>> if name == "nokonoko":
... print("gutaussehend, wie")
... else:
... print("Es sieht nicht gut aus")
gutaussehend, wie
# 3.Ab 8
if name := "nokonoko" == "nokonoko":
... print("gutaussehend, wie")
... else:
... print("Es sieht nicht gut aus")
gutaussehend, wie
Ich sagte: "Nun, es ist ein natürliches Ergebnis."
Ich sagte: "Es ist eine Funktion, mit der Sie einer Variablen in einem bedingten Ausdruck wie diesem zuweisen können, und es ist eine hervorragende Funktion, die redundante Ausdrücke verkürzen kann."
Ich sagte: "Dies ist jedoch aufgrund seiner wirklich neuen Funktionen nicht so bekannt. Je nachdem, wie es verwendet wird, kann es die Lesbarkeit beeinträchtigen. Verwenden Sie es daher mit Vorsicht!"
Ich sagte: "Besonders in Python, ** wenn und für Anweisungen keinen lokalen Bereich erstellen **, seien Sie also vorsichtig!"
Referenz: PEP 572 - Zuweisungsausdrücke
I "Als nächstes kommt die Einschlussnotation!"
Ich sagte: "Dies ist eine Funktion zum einfachen Erstellen eines Objekts (mit einem Verweis auf ein anderes Objekt), in dem mehrere Werte gespeichert sind, z. B. eine Variable namens ** Containerobjekt **."
Ich sagte: "Am häufigsten wird die Listeneinschlussnotation verwendet."
#Erstellen Sie eine neue Liste
>>> numbers = []
>>> for i in range(10):
... numbers.append(i)
>>> numbers
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#Wenn Sie die Einschlussnotation verwenden, sieht es so aus
>>> numbers = [i for i in range(10)]
>>> numbers
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Ich sagte: "Es ist eine hervorragende Sache, die es ermöglicht, ein Array mit einer for-Anweisung in einer Zeile zu definieren!"
Ich sagte: "Und Sie können auch eine if-Anweisung einbetten!"
#Gewöhnlich zur Aussage
>>> numbers = []
>>> for i in range(10):
... if i % 2 == 0:
... numbers.append(i)
...
>>> numbers
[0, 2, 4, 6, 8]
#Einschlussnotation
>>> numbers = [i for i in range(10) if i % 2 == 0]
>>> numbers
[0, 2, 4, 6, 8]
Ich sagte: "Außerdem schließt es im Gegensatz zur for-Anweisung den Geltungsbereich!"
#Gewöhnlich zur Aussage
>>> numbers = []
>>> for i in range(10):
... numbers.append(i)
#Auf die in der for-Anweisung definierte Variable i kann verwiesen werden
>>> i
9
#Einschlussnotation
>>> numbers = [i for i in range(10)]
#Eine Ausnahme tritt auf, wenn die Variable i undefiniert ist
>>> i
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'i' is not defined
Ich sagte: "Da es lästige Fehler verhindert, verwenden Sie die Einschlussnotation so oft wie möglich, wenn Sie eine neue Liste erstellen!"
Ich sagte: "Übrigens kann die Inklusivnotation für alles andere als die Liste verwendet werden! Ich werde das auch vorstellen!"
>>> dict_obj = {str(i): i for i in range(10)}
>>> dict_obj
{'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
>>> set_obj = {i for i in range(10)}
>>> set_obj
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Ich denke: "Wenn Sie das abschließende Symbol aus dem bisherigen Ablauf in" () "ändern, können Sie es mit Tapple Inclusion Notation erstellen, aber dies ist eine kleine Ausnahme, Sie können einen Generator erstellen. Seien Sie vorsichtig, weil es kompliziert ist!"
gen_obj = (i for i in range(10))
gen_obj
<generator object <genexpr> at 0x10df04580>
Ich sagte: "Es gibt verschiedene inklusive Notationen, und alle sind praktisch, also benutzen Sie sie bitte!"
Referenz: 5. Datenstrukturen
Ich sagte: "Als nächstes kommt ein Generator! Dies ist eine Funktion, die es schon lange gibt, die Anfänger jedoch nicht wirklich verstehen. Wenn Sie sich nicht die Mühe machen, einen Generator zu erstellen, können Sie eine Liste erstellen ..."
Ich dachte: "Ich dachte, aber ich habe das Gefühl, dass ich in den folgenden zwei Punkten ein großer Erfolg sein werde."
--Wenn Sie eine Endlosschleife erstellen möchten, ohne den Prozess anzuhalten --Wenn Sie eine große Menge an Textdaten verarbeiten möchten
Ich "zum Beispiel ..."
while True:
print("Gibt einen Wert zurück")
Ich sagte: "Wenn ich Code schreibe, gehe ich sofort in eine Endlosschleife. Es ist möglich, dass das System weiterhin verbraucht wird und das System ausfällt. Deshalb achte ich normalerweise darauf, dies nicht zu tun."
Ich sagte: "Dasselbe kann passieren, selbst wenn Sie auf eine Endlosschleife beschränkt sind oder wenn Sie eine große Liste mit umfangreichen mathematischen Berechnungen erstellen."
Ich sagte: "Aber wenn Sie den Generator wie unten gezeigt verwenden, müssen Sie den Speicher nicht überfordern, ein neues Element zu erstellen, bis das nächste Element erforderlich ist (Aufruf der speziellen Methode" next ")!"
Ich sagte: "Es gibt zwei Möglichkeiten, einen Generator zu erstellen, speziell auf diese Weise!"
#So erstellen Sie eine Funktion
>>> def my_gen():
... x = 0
... while True:
... yield x
... x += 1
#Der Rückgabewert ist Generator
>>> my_gen()
<generator object my_gen at 0x10df04510>
>>> for i in my_gen():
... print(i)
0
1
2
3
...
#So verwenden Sie einen Generatorausdruck
>>> my_gen = (i for i in range(10000) if i % 2 == 0)
>>> for i in my_gen:
... print(i)
0
2
4
6
8
Ich sagte: "Der Rückgabewert des Generators ist ein Iterator, daher kann er in der for-Anweisung verwendet werden!"
Ich sagte: "Es scheint sehr praktisch zu sein, wenn Sie CSV mit 1 Million Datensätzen lesen und verarbeiten möchten!"
Ich sagte: "Der Generator kann übrigens auch in andere Containerobjekte konvertiert werden! Aber seien Sie vorsichtig, da er zum Zeitpunkt der Generierung viel Speicher verbrauchen kann!"
>>> my_gen = (i for i in range(10000) if i % 2 == 0)
>>> my_list = list(my_gen)
>>> type(my_list)
<class 'list'>
>>> my_list
[0, 2, 4, 6, 8, 10, 12, 14, 16,...9992, 9994, 9996, 9998]
Ich sagte: "Wie hast du das gemacht? Du bist einem Python-Vollständigen näher gekommen!"
Mein Kind "Ogyaaogyaa !! Python scheint super einfach !!"
Ich sagte: "Ja. Es scheint, dass mein Kind Python vollständig verstehen könnte. Sie vor dem Bildschirm werden Ihr Bestes tun, um ein Mann zu werden, der Python vollständig versteht!"
Oshimai
Recommended Posts