Python Tutorial #43 - Generatoren und Yield

  Рет қаралды 18,150

The Morpheus Tutorials

The Morpheus Tutorials

Күн бұрын

Пікірлер: 30
@easypy
@easypy 2 жыл бұрын
Bitte mehr python nach der Sommerpause:)
@mizech
@mizech 6 жыл бұрын
Cooles Video. Prima erklärt. In JavaScript gibt es Generatoren mittlerweile auch. Hatte damals Schwierigkeiten zu verstehen, was sie machen. Deine Ausführungen haben mir geholfen, dass Konzept besser zu verstehen.
@TheMorpheusTutorials
@TheMorpheusTutorials 6 жыл бұрын
Vielen Dank :)
@nayjer2576
@nayjer2576 4 жыл бұрын
Bei der Prim.Funktion kann man sich das einfach so denken: Falls es eine Zahl größer alsd sqrt(x) gibt mit (sqrt(x) + a) * (sqrt(x) - b) (muss logischerweise -b sein, weil sonst wäre das Produkt größer als x), dann gibt es auch eine Zahl kleiner als sqrt(x), die x teilt, also reicht es aus alle Zahlen bis sqrt(x) zu betrachten.
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
Joa
@3xtr33m3
@3xtr33m3 3 жыл бұрын
Sehr konfuse Erklärung für mich, der noch nie was davon gehört hat. Bei den bisherigen Tutorials habe ich es mir verkniffen, da die Videos schon älter sind und ich es dennoch verstanden habe, aber hier muss ich es mal loswerden. Du erklärst die Hälfte des Videos erstmal einen Algorithmus, der nichts mit dem eigentlichen Videotitel zu tun hat. Du kannst stattdessen diesen Code auch posten oder was anderes nehmen. Und dann ist mir bis zum Schluss nicht klar geworden, was yield nun eigentlich bedeutet, warum damit aus der while TrueSchleife geprungen wird. Und am Ende kommt noch dieser prime_generator aus dem Nichts. Ich hab das Gefühl, du hast zwar die Videoidee im Kopf, schreibst aber vorher kein Script sondern startest die Aufnahme und schaust selbst mal, was so bei rumkommt. Klar, ist zeitsparender. Aber manchmal wünsche ich mir eine durchdachtere Erklärung oder anschaulichere Beispiele. Auch verstärkst du die Verwirrung, wenn du sinngemäß Sachen sagst wie: Jetzt wird es komisch. Ich bin dankbar für deine Reihe, nicht falsch verstehen. Aber dieses Video hat bei mir leider mehr Fragezeichen aufgeworfen als ausgeräumt. Vielleicht machst du das mittlerweile anders, ich wollts dennoch mal loswerden. Danke trotzdem und ich bin gespannt, was noch kommt.
@LB-qr7nv
@LB-qr7nv 3 жыл бұрын
Ich verstehe was du meinst, es ging mir am Anfang auch so. Mittlerweile kann ich etwas besser programmieren(durch Morpheus und Übung) und glaube es verstanden zu haben. fetchPrimes würde unendlich lange jede natürliche Zahl auf Primzahl prüfen lassen und nichts speichern oder zurückgeben. Benutzt man return wird die Funktion gleichzeitig abgebrochen und müsste beim nächsten Aufruf wieder bei 2 starten. Der Fortschritt kann gespeichert werden in prim_generator, um bei z.B. der Zahl 3 weitermachen zu können. Das funktioniert allerdings nicht mit return, sondern mit yield, da durch yield gespeichert werden kann wo man pausiert hat. Genau wie return kann man mit yield ein Ergebnis zurückgeben an die Aufrufstelle. Das send() ist ein Befehl an das pausierte Objekt prime_generator weiterzumachen. Variablen in der Funktion und Stelle des yields sind im Objekt gespeichert. Es geht dann nach dem yield weiter mit: Bei number += 1
@marcojahn2564
@marcojahn2564 Жыл бұрын
Absolut korrekt. Der Ersteller wirkt absolut hektisch und unvorbereitet und verhaspelt sich da gerne mal in Sachen, die mit dem eigentlichen Thema überhaupt nichts zu tun haben. Zudem merkt man ihm an, dass er vergessen hat, dass nicht jedem klar ist, wie man überhaupt auf eine Primzahl testet, so dass man erstmal überlegen muss,was er jetzt mit der Wurzel will. Auch diese ständigen Änderungen nerven. Da springt er mittendrin mal 2 Zeilen nach oben und fügt irgendwo nochmal ein "=2" ein, ohne zu erklären,wozu das nun gut sein soll. Was eine Yield-Funktion ist, weiß ich auch nach 6maligen Anschauen dieses Videos noch immer nicht. Das hier gibt übrigens ChatGPT aus: def is_prime(n): """Funktion, die prüft, ob eine Zahl eine Primzahl ist""" if n
@Mondkraft
@Mondkraft 7 жыл бұрын
Eine Frage hätte ich. Kann man mit PyCharm auch zwei Codes miteinander vergleichen und wenn ja wie geht das? Okay habs gefunden einfach 2 Files im Projektordner markieren und dann mit rechtsklick auf compare files. Ich hab in dem Code einen kleinen Fehler eingebaut und hab es dann mit der fehlerfreien Version verglichen. Ist wie die Suche nach der Nadel im Heuhaufen, wenn man aber die beiden Dateien vergleicht findet man sehr schnell den Fehler :)
@TheMorpheusTutorials
@TheMorpheusTutorials 7 жыл бұрын
cooles Feature, vor allem, wenn du Code von jemand andrem mergen willst :)
@koenigmaurice
@koenigmaurice 6 жыл бұрын
Ist yield dann praktisch ein return, nur dass es danach weiter geht?
@friedsoftunity0535
@friedsoftunity0535 6 жыл бұрын
nice, in einem satz zusammengefasst ^^ :)
@nayjer2576
@nayjer2576 4 жыл бұрын
Yeet
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
😅
@fidellowawa3165
@fidellowawa3165 5 жыл бұрын
Ich wunder mich, warum die 3, 5 und 7 als Primzahlen ausgegeben werden. Man gehe in die for schleife der isPrime Funktion: wenn number = 3 und i = 3, dann ist 3 % 3 == 0 und es müsste dann false ausgegeben werden? Gleiches Spiel mit der 5 und 7. Dennoch tauchen die Zahlen am Ende als Primzahl auf... Habe ich hier irgendeinen Denkfehler?
@fidellowawa3165
@fidellowawa3165 5 жыл бұрын
Edit: da für number = 3, 5 oder 7 der Endwert durch die Wurzel kleiner ist, als der Startwert, wird die for-schleife erst gar nicht ausgeführt und somit direkt auf true gesprungen. :-)
@Kig_Ama
@Kig_Ama 4 жыл бұрын
Kann man die py.files irgendwo runterladen?
@yxngcartier
@yxngcartier 4 жыл бұрын
"Die Wurzel einer Zahl +1 ist nicht größer als die Zahl" was ist dann mit der Wurzel von 2?
@zehnsieben
@zehnsieben 4 жыл бұрын
2 ist durch 2 teilbar, sprich es geht nicht in die for-Schleife
@EuleLarve
@EuleLarve 3 жыл бұрын
ein kleiner Fehler mit der Erklärung zur +1: Die +1 hat nichts mit der Primzahl zu tun sondern mit der range Funktion.
@lukaswalker2342
@lukaswalker2342 Жыл бұрын
Imagine modulo würde nicht mit floats klar kommen 😳
@hannesbrantner929
@hannesbrantner929 6 жыл бұрын
Ich glaube Py2Exe ist noch nicht für die Opcodes aus Python 3.6 ausgelegt ^^
@TheMorpheusTutorials
@TheMorpheusTutorials 6 жыл бұрын
ne, generell nur bis 3.5
@mikescelo778
@mikescelo778 4 жыл бұрын
Ich verstehe nichts mehr. Kann ein Algorithmus schneller sein? Danke für dein Video. Ich muss erst einmal darüber schlafen .
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
Das Video ist auch schon ziemlich fortgeschritten 😉 Ein Algorithmus kann schneller sein, ja. Nimm sortieren zb. Es gibt welche die doppelt so schnell sind wie andere
@jonnywinkler6328
@jonnywinkler6328 4 жыл бұрын
Wie hast du programmieren gelernt, dass würde mich interessieren. Super Video :)
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
Danke für die Frage 😊 ich mach dazu ein Video auf dem vlog Kanal
@jonnywinkler6328
@jonnywinkler6328 4 жыл бұрын
@@TheMorpheusTutorials Wie heißt der Kanal
@starcrafter9967
@starcrafter9967 3 жыл бұрын
@@jonnywinkler6328 TheMorpheusVlogs müsste es sein
@mondkult
@mondkult 8 жыл бұрын
Bei den meisten Pythonlisten kann man mit .pop() einen Wert auslesen der dann wieder aus dieser Liste gelöscht wird. Wer hätte das gedacht? L = [1,2,3,4,5,6,7,8,9] L.pop() L
Python Tutorial #44 - Argument Unpacking, Tupel und Dictionaries
10:24
The Morpheus Tutorials
Рет қаралды 12 М.
Generators in Python | Das YIELD Keyword verstehen | Python Tutorial
11:50
amazing#devil #lilith #funny #shorts
00:15
Devil Lilith
Рет қаралды 18 МЛН
Из какого города смотришь? 😃
00:34
МЯТНАЯ ФАНТА
Рет қаралды 1 МЛН
Who's spending her birthday with Harley Quinn on halloween?#Harley Quinn #joker
01:00
Harley Quinn with the Joker
Рет қаралды 21 МЛН
У вас там какие таланты ?😂
00:19
Карина Хафизова
Рет қаралды 22 МЛН
Docker Tutorial For Beginners - How To Containerize Python Applications
22:17
Python Tutorial #45 - Dekoratoren
6:11
The Morpheus Tutorials
Рет қаралды 12 М.
Python Generators
15:32
mCoding
Рет қаралды 140 М.
Python Tutorial- AsyncIO - Introduction
10:49
The Morpheus Tutorials
Рет қаралды 15 М.
OS Module in Python: Mit Python auf das Filesystem zugreifen
23:28
Coding Crashkurse
Рет қаралды 3,5 М.
Python Logging: How to Write Logs Like a Pro!
11:02
ArjanCodes
Рет қаралды 176 М.
Einführung in die Funktionale Programmierung (einfach und praxisnah!)
24:55
How To Use yield in Python
11:28
DataDaft
Рет қаралды 14 М.
Iterables & Iterators in Python | For-Loops wirklich verstehen
11:43
Coding Crashkurse
Рет қаралды 941
amazing#devil #lilith #funny #shorts
00:15
Devil Lilith
Рет қаралды 18 МЛН