Mache nicht diese 10 Anfänger Fehler in PYTHON (einfach erklärt)

  Рет қаралды 33,665

Florian Dalwigk

Florian Dalwigk

Күн бұрын

Mein Python-Buch amzn.to/3ARMbw8 (*)
Inhalt 📚
Woran erkennt man einen fortgeschrittenen Python-Programmierer? Daran, dass er nicht wie ein Anfänger codet. Wenn du erst ein paar Stunden Programmiererfahrung gesammelt hast, ist es völlig normal, dass du dich erstmal nur darüber freust, wenn dein Code funktioniert. Skript fertigstellen, die Konsole starten, das Programm aufrufen und hoffen, dass keine Fehlermeldung erscheint. Wenn dann alles auch noch so funktioniert, wie man es sich vorgestellt hat, schwebt man auf Wolke 1337. Stilfragen, die dich als Anfänger outen, sind da erstmal zweitrangig. Mit der Zeit entwickelst du aber einen eigenen Programmierstil, der möglichst professionell und nicht wie von einem Script-Kiddie wirkt. Auch Frankenstein-Code, der zu einer Hälfte von StackOverflow und zur anderen Hälfte von GitHub stammt, ist für das geschulte Auge schnell erkennbar, da sich hier nicht selten verschiedene Programmierstile mischen.
In diesem Video zeige ich dir 10 Anfängerfehler, die du möglichst schnell nicht mehr machen solltest.
Einführung 0:00
Fehler 1: 0:55
Fehler 2: 1:48
Fehler 3: 2:39
Fehler 4: 4:17
Fehler 5: 4:40
Fehler 6: 5:22
Fehler 7: 6:18
Fehler 8: 6:58
Fehler 9: 7:49
Fehler 10: 9:15
EQUIPMENT(*)
🎤 Mikrofon amzn.to/3N0CHCL
✂️ Schnittprogramm amzn.to/3CZ217J
💻 Mein Laptop amzn.to/3ikMd5V
🖥️ Bildschirm amzn.to/3ig3yN5
SUPPORT
► Patreon / florian_dalwigk
► PayPal
► Unterstütze mich durch einen Kauf auf Amazon. Für dich entstehen keine Mehrkosten! (*) amzn.to/3LgyglY
SOCIAL MEDIA
💡 Website: www.florian-dalwigk.de
📱 TikTok: / florian.dalwigk
🤳 Instagram: / florian.dalwigk
🐦 Twitter: / florian_dalwigk
📧 E-Mail: mailto:info@florian-dalwigk.de
📼 Anti-Patterns: Wie du SCHLECHTEN Code schreibst! • Anti-Patterns: Wie du ...
📼 CLEAN CODE: Wie du IF-ANWEISUNGEN BESSER einsetzt • CLEAN CODE: Wie du IF-...
(*) Bei den Amazon-Links (https.//amzn.to/???????) handelt es sich um Affiliate-Links. Wenn du etwas über diesen Link kaufst, bekomme ich eine kleine Provision. Der Preis ändert sich nicht, wenn du über diesen Link einkaufst. Vielen Dank für deine Unterstützung.

Пікірлер: 174
@bytemaker8922
@bytemaker8922 2 жыл бұрын
Au - das hat gesessen... mit dem Ergebnis, dass ich mal wieder Farbe im Gesicht bekam ;-) Das Problem - man schleppt viele Gewohnheiten aus anderen Programmiersprachen mit sich rum und es funktioniert ja auch - das es besser und eleganter geht erfährt man erst, wenn man diesem Kanal seine Aufmerksamkeit schenkt... Danke und weiter so!
@davidblockdb
@davidblockdb 2 жыл бұрын
Ja merke ich auch. einiges kennt man, aber wenn teilweise noch python 3.7 läuft ist das Walross doch an einem vorbei gegangen
@paul_nighttrain
@paul_nighttrain 2 жыл бұрын
0:07 Coden wie ein Anfänger: Python mit CSS verwechseln 😂 1:43 da muss es doch heißen "if not B:"
@joshix833
@joshix833 2 жыл бұрын
@@georgmc B == False ist das gleiche wie not B
@markustieger
@markustieger 2 жыл бұрын
Ist mir auch aufgefallen
@niklas8565
@niklas8565 2 жыл бұрын
@@joshix833 Ja, aber if B ist nicht gleich if B == false
@joshix833
@joshix833 2 жыл бұрын
@@niklas8565 ich weiß. Hab ich ja quasi geschrieben. Ich habe auf einen gelöschten Kommentar von Baran geantwortet, der was Gegenteiliges behauptete.
@niklas8565
@niklas8565 2 жыл бұрын
@@joshix833 Achso, sorry 😅
@niklas8565
@niklas8565 2 жыл бұрын
Manche dieser "Anfängerfehler" würde ich gar nicht als Anfägerfehler bezeichnen. Meiner Meinung nach sollte Code für Programmierer relativ leicht lesbar sein. Bei 1:43 mit if A und if not B stmme ich dem Video zu. Das macht den Code nicht nur einfacher, sondern meinem Empfinden nach auch besser lesbar. Bei 4:39 mit if pokemons hingegen nicht. Bei weitem nicht jede Programmiersprache erlaubt es Listen direkt als einen Boolschen Operator zu verwenden. Dies ist eher eine Eigenschaft von Python und macht den Code für Nicht-Python Programmierer relativ unleserlich. Ein if len(pokemon) != 0 macht es für jeden klar, dass da die Länge einer Liste geprüft wird, ohne das eine Zeile Kommentar hingeschrieben werden muss. P.S. Ich will damit nicht sagen, dass man nicht die Eigenschaften einer Programmiersprache nutzen sollte, das Beispiel aus Fehler 5 z.B. finde ich sehr gut gewählt. Nur sollte man dies mit Bedacht tun, da sonst Code entsteht, der nicht allzu leicht für einen allgemeinen Programmier zu durchblicken ist.
@waynezor
@waynezor 2 жыл бұрын
Ich stimme zu, mit dem "truthy"-Zeug kann ich mich auch nur schwer anfreunden, erinnert ein wenig an JS. Für so einen Fall würde ich sogar noch expliziter werden und eine utility-Funktion schreiben (def is_empty(_list: List) -> bool: return len(_list) == 0) , ähnlich zu z.B. ArrayList::isEmpty aus java. Ist mMn nochmal ein bisschen besser lesbar.
@christian-schubert
@christian-schubert 2 жыл бұрын
@@waynezor ...auch in JavaScript ist es durchaus möglich if(variable) zu formulieren...? Tut mir leid, sollte ich missverstanden haben, was du meintest
@EinfachDan
@EinfachDan 2 жыл бұрын
0:00 - Ach, da ist ja schon der erste Fehler! Python und CSS verwechseln xD Nur Spaß, ist ein Top Video!
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
😂
@testa5687
@testa5687 2 жыл бұрын
Ich programmiere seit circa 4 Monaten Python und bin froh schon einige dieser Fehler überwunden zu haben :D
@philippschneider6096
@philippschneider6096 2 жыл бұрын
Ich konnte nur bei sehr wenigen der angesprochenen Dinge sagen, dass ich sie nicht machen würde. Dementsprechend fand ich dieses Video unglaublich hilfreich :)
@JustPyroYT
@JustPyroYT 2 жыл бұрын
.... Und schon wieder was gelernt! Top video👍
@anion21
@anion21 2 жыл бұрын
Das ist schon irgendwie gruselig: Du hast tatsächlich echt viele Sachen aufgelistet, die ich damals, als ich Python gelernt habe, halt auch erstmal so (falsch) gemacht habe :D
@niklaskras5498
@niklaskras5498 2 жыл бұрын
Fehler 8 mache ich andauernd noch wenn ich irgendwas mit zwei Arrays oder Matrizen mache. Allerdings hab ich noch nicht rausbekommen wie ich das praktisch für Matrizen nutze, vor allem wenn verschiedene Indizes oder so notwendig sind. Gutes Video, bitte mehr davon! Das Ding ist nämlich immer: Man weiß einfach nicht, dass sowas geht und man kann nur umsetzen, was man schonmal gesehen hat. Also bitte alles zeigen :D
@NicosLeben
@NicosLeben 2 жыл бұрын
8:55 Da hast du zwei Zeilen vertauscht. Das append muss vor dem zweiten input kommen.
@Dop4miN
@Dop4miN 2 жыл бұрын
so viel zum Thema Anfänger Fehler in Python :D
@TheSwr1996
@TheSwr1996 2 жыл бұрын
Vielen dank für die Tipps 😄 man fühlt sich richtig gut wenn man selbst noch ein anfänger ist aber das ein oder andere schon kannte ^^
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
😉
@User-pi3nf
@User-pi3nf 2 жыл бұрын
Bin letzte Woche von C# auf Python umgestiegen, endlich kein Klammer Chaos mehr 😘
@fairphoneuser9009
@fairphoneuser9009 2 жыл бұрын
Einfach mal eine Einrückung durch ein Tab ersetzen! 😁
@fernabianer1898
@fernabianer1898 2 жыл бұрын
Die letzten beiden Punkte fand' ich interessant, schaue ich mir heute abend auf jeden Fall nochmal an. Danke fürs Video!
@abob821
@abob821 2 жыл бұрын
Den Walrossoperator kannte ich noch nicht. Aber mich wundert es, dass du deinen Code nicht doppelt und dreifach testest bevor du ihn in einem Video veröffentlichst. Das "if not B" (1:48) wurde ja schon häufig gesagt. Beim Walrossoperator (8:57) muss das 2. input am Ende der Schleife sein um richtig zu funktionieren. Bei 9:58 steht noch unnötigerweise nr = 1 am Anfang. Aber nichts davon ist tragisch da die Punkte trotzdem rüberkommen.
@tayustgemil9285
@tayustgemil9285 2 жыл бұрын
Vielen Dank für dieses Video! An allen 10 Beispielen sieht man mal wieder, was für eine schön schlanke und effektive Syntax Python hat. Ich habe bisher auch noch nur relativ wenig mit Python programmiert... aber festgestellt; und dass kann ich anderen Python-Anfängern auch nur empfehlen, dass es sich zu Beginn lohnt, sich bei jedem kleinen Logikteil, den man programmiert, zu fragen: "Wie kann ich den Logikteil mit möglichst wenig Schreibarbeit programmieren?", Und daraufhin Recherche zu betreiben. Auch wenn das etwas nervig ist. So bin ich z.B. auf Ausdrücke gestoßen, von denen ich nicht weiß, wie die heißen, aber es sind for-Schleifen, die "innerhalb" von Listen oder Dictionaries genutzt werden statt "außerhalb". Als Musterbeispiel: ergebnis = [item.eigenschaft for item in liste if Bedingung] anstatt: ergebnis = [] for item in liste: if Bedingung: ergebnis.append(item.eigenschaft) Dieses Beispiel hätte sich in diesem Video eig. auch einen Platz verdient.
@sebcodes
@sebcodes 2 жыл бұрын
Das sind meine ich lambda Funktionen
@obit7516
@obit7516 2 жыл бұрын
@@sebcodes nein es sind list comprehensions
@sebcodes
@sebcodes 2 жыл бұрын
@@obit7516 achso, ok
@alecjasper
@alecjasper 2 жыл бұрын
List comprehensions sind einfach toll. Gibt es auch als Variante mit Erstellung eines generators. Da hat man dann runde Statt eckige klammern.
@Game_Lab_Germany
@Game_Lab_Germany 2 жыл бұрын
Der Schnuller :D omg ! mag das Video jetzt schon
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
OK
@john2426
@john2426 2 жыл бұрын
hervorragendes Video mal wieder....
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Dankeschön
@anonymunsichtbar3715
@anonymunsichtbar3715 2 жыл бұрын
Der Moment, wenn im Video über Python geredet wird und im Thumbnail CSS ist 😂. Gutes Video btw.
@kleinmarb4362
@kleinmarb4362 2 жыл бұрын
Boah deine Videos sind wirklich geil kannst du mal nh Serie über python modules machen zum Beispiel sys oder so
@maxmusterman6844
@maxmusterman6844 Жыл бұрын
Ich habe Python in der 5 Klasse gelernt(bin aktuell 19). Und von denn meisten Lösung habe ich noch nie vorher gehört.
@Florian.Dalwigk
@Florian.Dalwigk Жыл бұрын
Ok, dann freue ich mich, dass ich dir hier etwas Neues zeigen konnte
@Igerbam
@Igerbam 2 жыл бұрын
1:43 müsste man nicht um "if B == False:" umzuschreiben, es so schreiben?: "if not B:" "if B == False:" ist doch nicht das gleiche wie "if B:", sondern genau anders herum, oder sehe ich hier etwas falsch?
@AronNimzo
@AronNimzo 2 жыл бұрын
for nr, pokemon in enumerate(pokemons, start = 1)
@oida10000
@oida10000 2 жыл бұрын
start muss man nicht ausschreiben es reicht enumerate(pokemons, 1). Wenn schon etwas wie enumerate(start=1, iterable=pokemons) wenn es besser zum eigenen Programmierstiel passt (oder man sich erinnern will, dass die Zahl das erste Element des abgefangen Tupels ist.
@pumpenmo
@pumpenmo 2 жыл бұрын
Guter Punkt, finde es weit mehr pythonic das so zu verwenden, wenn es das schon gibt
@thomasbuhle2838
@thomasbuhle2838 Жыл бұрын
Danke, da war gleich mehreres dabei 👍
@Florian.Dalwigk
@Florian.Dalwigk Жыл бұрын
Supi
@leiery
@leiery 2 жыл бұрын
Hei, echt nützliche Tipps für Neueinsteiger in Python! :) Kann verstehen, dass es etwas mehr catchy ist das Wort "Fehler" zu benutzen, aber meiner Ansicht nach handelt es sich bei nahezu keinem der vorgestellten "Fehler" um so richtige Fehler, womit das Skript z.B. gar nicht mehr laufen würde. Bei der Iteration einer Liste nicht anzufangen von 0 aus zu zählen oder ähnliches würde ich als Fehler definieren. Nicht mit dem Context-Manager zu arbeiten lässt sich in meinen Augen maximal als "fehleranfälligerer" Programmierstil mit Python bezeichnen, den häufig Neueinsteiger praktizieren. Vielleicht wäre "10 Tipps/Lifehacks in Python" treffender gewesen. Fehler ist für mich zumindest sehr negativ konnotiert, wofür man oft dann verurteilt wird und ich würde davon weggehen alle Codesnippets, die nicht 100% alle Features eines Frameworks/einer Programmiersprache etc. nutzen, mit dem Label "Fehler" zu versehen. Trotzdem ein gutes Video, wo ich auch Neues gelernt habe.
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Das ist mit "Fehler" auch nicht geht gemeint. Es geht um Stil-Fehler.
@fernabianer1898
@fernabianer1898 2 жыл бұрын
Diese Richtlinien haben schon ihre Existensberechtigung. Zum einen arbeiten an einem programm, selbst bei manchen kleineren, im Laufe der Zeit, mehrere Personen. Da ist es durchaus sinnvoll ein paar Standards festzulegen, damit man sich nicht bei jedem neuen Code völlig umstellen muss. Florians Beispiel mit dem "if variable == True:", ersetzen durch "if variable:" steht sogar in den offiziellen Phyton Richtlinien. Auch kann es auf die Performance oder Speichernutzung gehen, einen simplen Stil zu verwenden. Hier ein Mini-Beispiel: Variante A: listenname = [ ] "for number in range(0, 10, 1):" #
@IngenieurwerdenmitBen
@IngenieurwerdenmitBen 2 жыл бұрын
Jap, Treffer! Die Fehler mache ich alle sogar immer noch, aber jetzt weiß ich es ja besser 😅 Wobei ich zu meiner Verteidigung sagen muss, dass einige dieser Fehler uns explizit so im Studium von unserem altertümlichen Prof beigebracht wurden… 🤔
@TimeRoot
@TimeRoot 2 жыл бұрын
Walross Operator kannte ich noch nicht. Danke!
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Gerne
@derindividualist6625
@derindividualist6625 2 жыл бұрын
Also in den meisten Tutorials wird die Anfänger Methode erklärt. Die von dir nahegelegte Version halte ich auch für verständlicher und der Lerneffekt ist höher.
@Train_Nerd
@Train_Nerd 2 жыл бұрын
Ich hab mich oft ertappt gefühlt und viele der Techniken hab ich erst mit PyLint abgelegt. Danke für das Video.
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Gerne
@oida10000
@oida10000 2 жыл бұрын
10:15 oder man übergibt 1 als zweiten Parameter an enumerate. Ist es eigentlich ein Fehler wenn man nach with noch ein close verwendet oder ist es nur überflüssig? with open("myfile.txt", "w") as f: f.write("Hi!") f.close()
@goldnas
@goldnas Жыл бұрын
Überflüssig. Das ist genau der Sinn des Contextmanagers.
@stl-xx5rq
@stl-xx5rq 2 жыл бұрын
4:28 Fehler 4a: Mehrzahl von Pokémon ist Pokémon, ohne s.
@schwingedeshaehers
@schwingedeshaehers 2 жыл бұрын
dann sind die Namen aber gleich, was aber zu Bugs führen würde
@stl-xx5rq
@stl-xx5rq 2 жыл бұрын
@@schwingedeshaehers Dann hätte ich das aber pkmnlist genannt.
@schwingedeshaehers
@schwingedeshaehers 2 жыл бұрын
@@stl-xx5rq pass auf, wenn dann pokemonss kommt, als Liste von Listen mit Pokemon
@Florian.Dalwigk
@Florian.Dalwigk Жыл бұрын
Das stimmt, allerdings kennen viele den Plural nur unter "Pokemons" und ich wollte möglichst nah an dem "intuitiven Sprachgefühl" bleiben.
@Voodoo3300
@Voodoo3300 2 жыл бұрын
Gutes Video, ich bin immer wieder beeindruckt von python, was so geht, hatte letztens (stark vereinfacht) sowas hier gemacht und war erstaunt, dass es funktioniert hat: x = dict['key'] if 'key' in dict else 0 Generell finde ich auch, als Anfänger sollte man sich mit list comprehension auseinandersetzen
@aaronjoshuabeglau9429
@aaronjoshuabeglau9429 2 жыл бұрын
Das geht noch ein bisschen effizienter: x = dict.get(key, 0)
@martinrudloff4252
@martinrudloff4252 2 жыл бұрын
@@aaronjoshuabeglau9429 GEIL
@Baffmer
@Baffmer 2 жыл бұрын
Hi, bei 2:34 verweist du auf "dein Buch". Kannst du das mal verlinken?
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Das kommt erst Ende des Jahres auf den Markt ;)
@Baffmer
@Baffmer 2 жыл бұрын
@@Florian.Dalwigk Ok danke!
@unlxck3255
@unlxck3255 2 жыл бұрын
Wäre das zu diesem Kanal passend Erklärungsvideos zu Raspberry Pi zu machen? z.B was man damit alles anstellen kann usw
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Vielleicht an konkreten Projekten, aber nicht allgemein.
@bama4820
@bama4820 2 жыл бұрын
Hey Florian, kann man Informatik oder data science im bereich Astronomie bzw astrophysik machen ? weisst du ob es dafür eine nachfrage gibt? es gibt auch das Feld Astroinformatics und Geoinformatik. Kannst du mal ein Video dazu machen??? Und coole videos!
@yamirdreizehn283
@yamirdreizehn283 2 жыл бұрын
In der experimentellen physik sind datenauswertungen mit dem computer unverzichtbar. Spätestens im master wirst du dich mit machine learning auseinandersetzen können. Im bachelor wird dir auch datenauswertung via python beigebracht. Und dein nebenfach kannst du eigentlich wählen wie du willst. Die meisten physiker, die nicht in der forschung landen haben im berufsleben was mit IT zu tun. Wenn du aber nach dem bachelor aufhören willst musst du dich selbst darum kümmern die nötigen skills im bereich DS zu erlangen. Eventuell indem du einer passenden hochschulgruppe beitrittst.
@Blind_Hawk
@Blind_Hawk 2 жыл бұрын
Fehler 7 & 8 habe ich am Anfang STÄNDIG gemacht, weil ich es von Java gewöhnt war. Es dauerte eine Weile bis ich die Python-Art verstanden habe, generell bevorzuge ich die Python Syntax etwas mehr da sie einfacher zu nutzen und lesen ist, wenn man es mal kapiert hat. Java beispielsweise bleibt überladen, auch wenn man die Syntax versteht :D.
@janclaunitzer2376
@janclaunitzer2376 2 жыл бұрын
100%
@frankfalkenberg1568
@frankfalkenberg1568 Жыл бұрын
Genau... "Meine Name ist..."... ;-) Danke für Dein Video - Der Inhalt war sehr interessant! :-)
@Florian.Dalwigk
@Florian.Dalwigk Жыл бұрын
Sehr gerne
@fhcsghgggfghghhggg4566
@fhcsghgggfghghhggg4566 2 жыл бұрын
den Walross operator kannte ich noch nicht. den rest kannt ich schon, wobei ich manchmal aus Faulheit die anfänger Variante nutze, entweder weil sie schneller zu schreiben ist, oder weil ich zu lang nich mehr in python programmiert hab und manche sachen daher einfach nich mehr gewohnt bin. es gibt was, was ich dich schon deutlich zu lang nich mehr gefragt hab: wann kommt der dark-souls-mit-gedanken-zocken walkthrough?
@carlfels2571
@carlfels2571 2 жыл бұрын
Ein Video zum *-Operator und zum **-Operator wäre auch cool, das ist häufig verwirrend (5 * 5, ['Beispiel'] * 5, *zu_entpacken, *beliebig_viele_funktionsargumente, ...)
@jeyt436
@jeyt436 2 жыл бұрын
Bei dem "for i in range(len(liste))": Das macht schon Sinn, wenn man mit dem Index noch arbeiten möchte und keine Lust auf Tümpel hat.
@schwingedeshaehers
@schwingedeshaehers 2 жыл бұрын
for i,j in enumerate(liste)
@jeyt436
@jeyt436 2 жыл бұрын
@@schwingedeshaehers ok...
@T0BC00N
@T0BC00N 2 жыл бұрын
Wo kann man dein Buch kaufen ?
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Sobald es fertig ist eigentlich überall 😅
@T0BC00N
@T0BC00N 2 жыл бұрын
Ahhh na dann warte ich mal 😅 Danke für die Antwort
@NicosLeben
@NicosLeben 2 жыл бұрын
1:44 Du meinst natürlich "not B". ;-)
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Ja
@jk-jh6zs
@jk-jh6zs 2 жыл бұрын
Bei 6:13 wäre in Zeile 3 noch scöner: print(f"{x=}, {y=}, {z=}")
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Ist Geschmacksache
@dennismuller1141
@dennismuller1141 2 жыл бұрын
9:48 man kann auch enumerate(pokemons, start=1) verwenden
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
👍
@derfussel2276
@derfussel2276 2 жыл бұрын
Wenn ich dich richtig verstehe hast du also ein Buch über Python geschrieben? Wo kann man das denn kaufen?
@jk-jh6zs
@jk-jh6zs 2 жыл бұрын
Bei 7:48 muss in Zeile 4 "for wert_v1, wert_v2 ..." stehen. Jetzt steht zweimal "wert_v1" in der Zeile.
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Jo
@danis312
@danis312 Жыл бұрын
wenn ich python beispiel.py eingebe kommt ein error warum?
@Florian.Dalwigk
@Florian.Dalwigk Жыл бұрын
Ohne nähere Infos? Keine Ahnung!
@alecjasper
@alecjasper 2 жыл бұрын
Okay, 6 und 9 kannte ich noch nicht. Bin ich froh, dass ich damals ein gutes Python Buch für die Grundlagen hatte.
@Kaab798
@Kaab798 2 жыл бұрын
Ein Video über golang wäre echt interessant. Besonders mit dem Bezug zu cybersecurity/hacking. Finde das die Sprache zu wenig Aufmerksamkeit bekommt
@forestcat512
@forestcat512 2 жыл бұрын
Der Walross Operator war mir zwar bekannt aber nicht seine Funktion, wenn ich das richtig verstanden habe ermöglicht er es einfach Variablen zu definieren direkt hinter keywords wie if und while z.B. oder?
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Damit kannst du Abfrage und Prüfung in einem durchführen.
@forestcat512
@forestcat512 2 жыл бұрын
@@Florian.Dalwigk Abfrage und Prüfung? da passiert doch eine Zuweisung ich kann ja danach die Variable auch benutzen...
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Im Video erkläre ich, weshalb der Walross Operator sinnvoll ist
@forestcat512
@forestcat512 2 жыл бұрын
@@Florian.Dalwigk Ja das habe ich ja auch verstanden ähnliche Situationen wie diese hatte ich schon öfter, aber mich interessiert wie genau er sich verhält. Also passiert die Zuweisung vor der Prüfung oder?
@smellslikemaurice
@smellslikemaurice Ай бұрын
Was ist der Vorteil von f"..." im Vergleich zu "...".format()?
@Florian.Dalwigk
@Florian.Dalwigk Ай бұрын
Mehr Übersichtlichkeit (ist aber auch Geschmacksache)
@smellslikemaurice
@smellslikemaurice Ай бұрын
@@Florian.Dalwigk danke :) Hab grad nochmal weiter nachgeforscht. Scheint wohl auch noch nen positiven Effekt auf die Geschwindigkeit zu haben, das ein formatierter String schon beim Komplieren "befüllt" wird und damit nicht mehr in der Laufzeit verarbeitet werden muss. Ist daher aber auch nicht verwendbar für Programme, die externe Datenquellen einlesen. Morgen kommt dein Buch bei mir an btw 💪
@Florian.Dalwigk
@Florian.Dalwigk Ай бұрын
@smellslikemaurice Hervorragend :) Dann wünsche ich dir auf jeden Fall Spaß mit dem Buch ;)
@PhalzuBG
@PhalzuBG 2 жыл бұрын
In Java bin ich zu den meisten davon geforced. Aber so cool sind viele Unis leider noch ned Python zu nutzen :c Basics von OOP lernen und so...
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Es schadet noch, erstmal Java, C und Co zu lernen.
@CommanderKappa
@CommanderKappa 2 жыл бұрын
2:20 davon habe ich noch nichts gehört. gut
@Antonwas12
@Antonwas12 2 жыл бұрын
Es waere lustig, wenn du ein Aprilscherz-Video machen wuerdest, bei dem du aus lesbaren code einfach unlesbare Einzeiler machst und sagst, dass es so viel eleganter ist :D
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Bis nächstes Jahr habe ich das sehr wahrscheinlich vergessen.
@Sarias06
@Sarias06 2 жыл бұрын
Ich stehe generell mit Porgrammierung auf dem kriegsfuß und komme da einfach nciht hinter. dennoch bin ich an sowas interessiert ^^'' (auch wenn ich selbst es nicht hinbekomme, egal welche sprache). Dennopch mal eine Frage dazu. Kürzer ist Sexy, Spart Zeit und ist wirklich übersichtlicher. Aber beim Beispiel vom Context-Manager überkam mich dabei eine Frage. Wenn man, gewisse "zusätze" weg lässt, dann greift man doch eher auf eine Bibliothek zurück die Hinterlegt ist. Damit das ganze auch so umgesetzt wird. (es sei denn beim Kompilieren, wird das automatisch ins programm integriert). Ansonsten würde ich doch davon ausgehen, das dies im Allgemeinen auch wenn es kürzer und Übersichtlicher ist, einen Schwachpunk darstellen könnte oder? Wenn es nciht selbst im Programm alles Ordentlich Integriert wird, müsste man eine Bibliothek ausliefern, und diese kann man ßselbst oder andere ebenfalls Manipulieren, entsprechend was ergänzen, und man hättte ein Sicherheits problem. Oder irre ich mich da? Also wie gesagt ich komme bei Programmierung einfach nicht so mit und habe da viele probleme und ich führe diese auf mein allgemeines problem mit sprachen zurück. In meiner Umschulung haben wir uns Basic "Angeschaut" für den lehrer wars unterricht .. für mich war es eher... gib mir endlich das Papier mit den Zeilen damit ich es fertig machen kann bevor es klingelt... Der legte auch viel auf Kurze knappe geschichten. Und ich bin weder mit Kurz knapp noch lang kompliziert klar gekommen, da... keine ahnung ^^'' xD Und da gabs auch keine Bibliotheken außerhalb des Programms, denn das wäre für Microcontroller sicher doof gewesen. Aber Spiele und viele andere Programme auch, greifen nun einmal hier und da auch auf externe Bibliotheken zurück und sind im allgemeinen viel größer daher meien frage weiter oben ^^''
@barbel5839
@barbel5839 Жыл бұрын
Hey in die Runde ich habe gestern angefangen python zu lernen kann mir eine ein projekt zum lernen und üben nennen ?
@Florian.Dalwigk
@Florian.Dalwigk Жыл бұрын
kzbin.info/www/bejne/amTUfnx9fc50las
@Florian.Dalwigk
@Florian.Dalwigk Жыл бұрын
In meinem Buch "Python für Einsteiger" findest du außerdem viele Projekte, die Schritt für Schritt erklärt werden (mit Code zum Download).
@MarsCorporations
@MarsCorporations 2 жыл бұрын
7:25: Oh nein... zip ist mein Endgegner. Wenn ich (als "nicht Python Typ") manchmal sehe was damit angestellt wird, stehen mir die Haare zu Berge D: Edit: Die ganzen anderen "for-Schleifen Modifikatoren wie enumerate, range, etc" sind genauso schrecklich, da blickt doch niemand durch ^^ Edit2: Die richtig fiesen Verwendungen von for-Schleifen müssen im Video noch ergänzt werden (diese "mach dies und das FOR x y z in zip(enumerate, range, for) for, for + for(zip()):"). Der Code von wahren Python Profis besteht zu 20% aus dem Keyword "for", wobei darauf zu achten ist, dass niemand nachvollziehen kann warum das so ist.
@neonschaf
@neonschaf 2 жыл бұрын
1:44 Ähm du meinst sicher: "not B" oder "!B" sonst ergibt das Synmantisch nicht viel Sinn! if B: print("Die Aussafe B ist falsch.") Würde nämlich nur, falls B, also falls B == true, ausgeben, doch dann zu sagen das B falsch wäre, tja....
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Siehe Kommentare
@neonschaf
@neonschaf 2 жыл бұрын
@@Florian.Dalwigk ui, da hast du einen Verlässlichen Menschlichen Debugger: Eine Komentarpalte! :)
@yokmp1
@yokmp1 2 жыл бұрын
Ich hab ein paar scripts die ich seit Jahren verwende und die mittlerweile aussehn als ob sie in einem Atomreaktor wohnen ... ^^ Aber egal, solang sie machen was sie solln ist ja alles gut. :D
@realbrickbread
@realbrickbread 2 жыл бұрын
Die ersten 4 mache ich garnicht mehr, am rest muss ich noch arbeiten :)
@janubuilds
@janubuilds 2 жыл бұрын
Den Walrossoperator kannte ich nicht. Den Rest schon.
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
ok
@sebastiank.3894
@sebastiank.3894 2 жыл бұрын
Unglaublich. Da programmiere ich schon seit Jahren mit Python und das hauptberuflich zur Analyse und Modellierung von astrophysikalischen Daten und mache dennoch einen der Anfaengerfehler. Dass ich bei der Ueberpruefung, ob eine Liste Elemente enthaelt, nicht die len() Funktion benoetige wusste ich tatsaechlich noch nicht. Immerhin habe ich nicht ueberprueft, "if len(my_list) > 0", sondern einfach nur "if len(my_list)", denn 0 wird als False interpretiert und jedes Interger ausser 0 als True. Aber "if my_list" ist natuerlich noch kuerzer. Den Walross-Operator habe ich bislang noch nie benutzt, bin aber auch kuerzlich auf 3.9 gewechselt und habe 3.8 uebersprungen. Bzg. der enumerate() Funktion. Wenn bei 1 begonnen werden soll zu zaehlen, ist es noch eleganter den Startwert im Aufruf der Funktion festzulegen. Dazu gibt es das "start"-Argument: "for i, element in enumerate(my_list, start=1)". Dann muss nicht in jedem Schleifenaufruf erst der Wert 1 hinzuaddiert werden.
@neonschaf
@neonschaf 2 жыл бұрын
Nah Fehler nr 7 kann manchmal recht nützlich sein, wenn das eigentliche i'te Element an sich nebensächlich und die Indexposition wichtiger, ist.
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Dafür gibt es doch andere Funktionen.
@KennyMccormicklul
@KennyMccormicklul 2 жыл бұрын
alleine für dieses männchen geb ichn like die sind so witzig :D
@Marv_Stuff
@Marv_Stuff Жыл бұрын
Moin. Ich muss sagen, dass dein Code immer sehr übersichtlich ist. Besonders gefällt mir daran die Reihenfolge der Einblendungen, die immer sehr gut zu deinen Worten passt. Man kann so sehr gut folgen. Ich würde gerne einmal eine Glaubensfrage zu den if True Geschichten stellen 😁 Im Video hier kzbin.info/www/bejne/iWGxoGWwiK-godU kann man sehr gut sehen, dass es gerne mal zur Verwirrung kommen kann, wenn man immer nur if variable: ….. Schreibt. Man denkt dann automatisch, dass variable immer ein Boolean ist, gerade bei vielen Codezeilen. Vielleicht ist es nicht üblich, aber würde es nicht besser zur Lesbarkeit eines Codes beitragen, wenn man immer einen genauen Vergleich macht? Let’s Fight 😂 und mach weiter so!!!!❤
@lukaswalker2342
@lukaswalker2342 2 жыл бұрын
Ich nutze niemals enumerate und alles was eine liste verändert schreibe ich als list comprehension
@dobi630
@dobi630 2 жыл бұрын
Der Schnuller hat Stil
@JOe-tg1gc
@JOe-tg1gc 2 жыл бұрын
ja, ein modetraum XD
@JOe-tg1gc
@JOe-tg1gc 2 жыл бұрын
das lächeln bei 0:41 auch
@WoW4332
@WoW4332 2 жыл бұрын
Kirito ja? Hmhm. Und Hast du beidhändigkeit, fliegst du, machst du einen auf Jedi oder fällst du schon Bäume? Du hast es derzeit damit was? Find ich gut. Zu deiner Liste, wenn man dort != 0 schreibt, würde das nicht nen fehler geben weil ein lerres Array nicht 0 sondern null ist? Oder ist das in Pyton anders? Weil du fragst, ich hätter versuscht das Array mit Split(",") zu zerlegen und dan zu Int32.Parse() n.
@abc7297
@abc7297 2 жыл бұрын
Einmal Frankenstein Programmierung, immer Frankenstein Programmierung.
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Unsinn
@NA-bh1ly
@NA-bh1ly 2 жыл бұрын
nr.10
@waynezor
@waynezor 2 жыл бұрын
if B == False ist nicht identisch zu if B. Sollte heißen if not B: (...)
@waynezor
@waynezor 2 жыл бұрын
1:45
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Jo
@Olex_B
@Olex_B 2 жыл бұрын
Soll nicht space vor und nach "=" sein? Sonst einige Tipps werde ich wahrnehmen.
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Was meinst du? Timestamp?
@Olex_B
@Olex_B 2 жыл бұрын
@@Florian.Dalwigk vergessen zu schreiben=) . Also im f - string. Genauer 5:52
@giantplantofweed6061
@giantplantofweed6061 2 жыл бұрын
Hahahaha 6. sem info , Werkstudent software development , seit jahren python… Zwei davon hab ich noch nie benutzt😅😅
@romanbuchta248
@romanbuchta248 2 жыл бұрын
Der Walross-Operator geht mir nicht von der Hand......
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
😬
@Marvin-dm2mv
@Marvin-dm2mv 2 жыл бұрын
Interaktioooon
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
👍
@jumpro5905
@jumpro5905 2 жыл бұрын
pokemon*s* als Bezeichnung einer Liste von Pokémon...
@fairphoneuser9009
@fairphoneuser9009 2 жыл бұрын
Eigentlich ist keine dieser Angewohnheiten ein Fehler. Es ist nur nicht so ganz pythonesk. Viele dieser "Fehler" werden eher von Umsteigern als von Anfängern gemacht.
@derLenus
@derLenus 2 жыл бұрын
Naja, Fehler sind das aber nicht, eher Sachen, die wie beschrieben besser gehen.......: Ich finde es btw nicht gut, wenn du das als Fehler darstellst....
@sausix
@sausix 2 жыл бұрын
Das socket-Beispiel ohne with? Der index bei "for i in range(len(liste))" läuft nicht von 0 bis zur Länge der Liste. Die Länge der Liste ist die Abbruchbedingung.
@schwingedeshaehers
@schwingedeshaehers 2 жыл бұрын
nein, len(Liste) gibt die Länge der Liste zurück. range erzeugt ein interator von 0 bis Ende zu übergebenen Zahl.
@sausix
@sausix 2 жыл бұрын
@@schwingedeshaehers Hä? "len(liste)" musst du mir nicht erklären. range(2) erzeugt einen iterator von 0 bis 1. 2 ist die Abbruchbedingung.
@schwingedeshaehers
@schwingedeshaehers 2 жыл бұрын
@@sausix läuft bis (exclusive)
@YMandarin
@YMandarin 2 жыл бұрын
zip kannte ich garnicht 😅
@Mikail_199
@Mikail_199 2 жыл бұрын
ich habs sogar noch schlimmer mit range(0, len(pokemons)) gemacht gehabt hahahahahah
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
😂
@JustusIW
@JustusIW 2 жыл бұрын
3,4,7,10 bin ich schuldig 5 ich nutze seltenst dictionairies also ehhh schuldig 9 := wusste nicht mal das der existiert XD 8 kann ich nicht sagen nie gebraucht bis jetzt 1 mache ich 2 mache ich seit dem dritten Projekt(war btw ein Tic Tac Toe Klon) 6 mache ich ja gut.... 3/10
@ryangewheelt
@ryangewheelt 2 жыл бұрын
Das Video kann ich leider nicht liken. Denn die Definition "Fehler" ist nicht richtig, denn es funktioniert ja und ist für den Anfang auch nicht falsch. Man kann sagen, wie ein Anfänger intuitiver arbeiten kann.
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Der Begriff passt hier, wenn man es als Stilfehler ansieht.
@rollercoaster_hd6684
@rollercoaster_hd6684 2 жыл бұрын
alle xD
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
:D
@brightsideofmaths
@brightsideofmaths 2 жыл бұрын
Ich bin ein großer Fan von zip :)
@L28_z
@L28_z 2 жыл бұрын
Sword art online?
@L28_z
@L28_z 2 жыл бұрын
(Fehler 2)
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
ja
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Siehe kzbin.info/aero/PLXyYF-Aksib4dLkGfNy-S4_2Db_CkCGws
@noxiifoxi
@noxiifoxi 2 жыл бұрын
*Anfängerfehler
@godmaxeyyy
@godmaxeyyy 2 жыл бұрын
Python ist was für Anfänger so der Titel ist ein paradoxon
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Wieso ist Python etwas für Anfänger? Und selbst unter dieser Prämisse sehr ich hier kein Paradoxon.
@godmaxeyyy
@godmaxeyyy 2 жыл бұрын
@@Florian.Dalwigk Python ist, würde ich sagen die beste Sprache für Einsteiger, daher
@einzigHugo
@einzigHugo 2 жыл бұрын
Könntest du mal Anfänger Programmierkurs machen viel Leute die noch nie eine Zeile gutgeschrieben hatten also natürlich nicht für mich ich hab schon Ich hab ja schon den Geheimnis gehackt Also ich kann mich natürlich gut aus 😅🤣
Schütze deine PDF Dateien mit einem Wasserzeichen!
5:26
Florian Dalwigk
Рет қаралды 9 М.
ALLE Python Keywords in EINEM Video erklärt | #Python
14:06
Florian Dalwigk
Рет қаралды 58 М.
WHY IS A CAR MORE EXPENSIVE THAN A GIRL?
00:37
Levsob
Рет қаралды 14 МЛН
Como ela fez isso? 😲
00:12
Los Wagners
Рет қаралды 31 МЛН
10 NEWBIE FEHLER in Python - Tipps und Tricks für besseres Python
19:12
Coding Crashkurse
Рет қаралды 6 М.
making a calculator | IT project | VS Code
0:47
Unique Codes Playz
Рет қаралды 12
Python 101: Learn the 5 Must-Know Concepts
20:00
Tech With Tim
Рет қаралды 1 МЛН
My beginner mistakes | 18 mistakes of programming beginners
19:35
The Morpheus Tutorials
Рет қаралды 67 М.
Clean Coding: Das verstehen alle falsch!
12:11
Memory Leek
Рет қаралды 8 М.
Python im BROWSER mit PyScript? Ist das Ende von JavaScript gekommen?
10:54
Wie ich Programmieren lernen würde (Wenn ich von null starte)
11:57
Programmieren lernen
Рет қаралды 296 М.
25 nooby Python habits you need to ditch
9:12
mCoding
Рет қаралды 1,7 МЛН