PythonPodcast 34 - itnett/FTD02H-N GitHub Wiki

Python Stand-Up Show – Del 2: "Feilmeldinger og Evig Læring"

Åpningsmonolog:

"Velkommen tilbake, mine kjære Python-programmerere og feiljagere! I dag skal vi dykke enda dypere inn i den herlige verdenen av Python. Nå, har dere noen gang følt at koden din er som et fly? Du skriver den, gir den kraft, og den skal fly, ikke sant? Men så plutselig hører du den fryktede 'Traceback'-lyden! Det er som om flyet ditt traff en fugl – en 'SyntaxError'-fugl, og nå styrter alt ned i bakken. Jeg sier deg, 'Traceback' er piloten som alltid forteller deg at du er på vei rett inn i en fjellvegg."

Feilmeldinger:

"Feilmeldinger, mine venner, er som dommedagsprofetene i programmering. Du ser en, og hjertet ditt synker. 'NameError: Name is not defined' – det er Python sin måte å si: 'Unnskyld meg, men hva i all verden er dette du prøver å referere til? Det er ingen som heter det her!' Det er som å gå på en fest og rope etter noen som aldri dukket opp. Python står der og bare: 'Jeg vet ikke hvem du snakker om.'"

Indentering:

"Så la oss snakke om indentering, eller som jeg liker å kalle det, 'Python sitt lille OCD-krav'. Det er som om språket sier: 'Nei, nei, alt må være på linje, ellers kaster jeg alt ut vinduet!' Python er det eneste språket som tar innrykk mer seriøst enn en interiørdesigner. Jeg mener, kom igjen – ett mellomrom for lite, og hele programmet nekter å kjøre! Det er som om Python er en perfeksjonistisk lærer som sier: 'Jeg gir deg ikke karakter før du retter på det innrykket!'"

Variabler:

"Variabler! Ah, variabler er som kodenes små minions. De går rundt, holder tall, strenger, lister – alt du trenger. Men pass på, for hvis du plutselig bestemmer deg for å endre en heltallsvariabel til en streng, så sier Python: 'Nei, kompis. Det er ikke slik vi gjør det her.' Det er som å gi noen en hammer og så be dem skrive en roman med den."

Debugging:

"Har du noen gang prøvd å 'debugge' kode? Jeg mener, jeg trodde 'debugging' var å finne feil. Men i virkeligheten føles det mer som 'debugging' er en kode for å finne ut hvor jeg selv har fucka opp. Det er som en kriminell etterforskning hvor du er både detektiven og forbryteren! Du leser koden din om og om igjen og tenker: 'OK, hvem stjal logikken min?' Og til slutt innser du at du ga logikken din til en if-setning uten 'else'. Og du bare: 'Oh, der var den.'"

If-setninger:

"Så vi må snakke om if-setninger. If-setninger er som den vennlige dørvakten som slipper deg inn på klubben, men bare hvis du oppfyller en bestemt betingelse. 'If you're on the list, you're good to go!' Men har du prøvd å forklare Python at det er greit å ikke alltid ha en plan B? Python bare stirrer på deg og sier: 'Nei, du må ha en 'else'. Hva om alt går til helvete? Hvem har ansvaret da?'"

Løkker og break:

"Åh, løkker! Løkker er som en tredemølle. Du løper og løper, men kommer ingen vei før du bruker 'break'. Du kan nesten høre Python si: 'OK, kompis. Vi har gjort dette i 100 runder. Skal vi bryte denne evige syklusen snart?' Det er som en dårlig TV-serie som bare fortsetter uten slutt – helt til du endelig får nok og skriker 'break!'"

Funksjoner:

"Funksjoner er som smørbrød-maskiner. Du mater den med et par brødskiver, kanskje litt skinke, og den spytter ut et ferdig produkt. Og det beste? Du kan gjøre det igjen og igjen uten å måtte smøre brødet på nytt hver gang! Men vær forsiktig. Gi den feil ingredienser, og du får et resultat som ingen vil spise."

Debugging forts. – 'Print Debugging':

"Så har vi alle prøvd 'print debugging', ikke sant? Det er den eldgamle kunsten å kaste inn en 'print()' hver gang noe går galt. 'La oss se hvor det går galt,' sier vi. Og før du vet ordet av det, har du flere 'print'-utskrifter enn kode, og du tenker: 'Er det dette programmering egentlig er?' Det er som å spille detektiv, men sporene er bare tilfeldige meldinger som dukker opp på skjermen."

Moduler og biblioteker:

"Og folkens, moduler! Har du noen gang sett hvor mange moduler Python har? Det er som et gigantisk supermarked for kode! 'Vil du manipulere tid? Her har vi en 'time'-modul! Vil du gjøre matematikk? Her er 'math'. Og hvis du er veldig eventyrlysten, hvorfor ikke prøve å importere noe som 'antigravity' bare for moro skyld? Python har bokstavelig talt et bibliotek for alt. Jeg mener, vi kan gjøre så mye med moduler at vi nesten ikke trenger å skrive kode lenger! Bare 'import' alt og chill!"

Unntaksbehandling:

"Så kommer vi til unntaksbehandling. 'Try' og 'except' er som en backup-plan i livet. Du sier: 'Jeg skal prøve dette... men hvis det går galt, så tar vi det derfra.' Det er som å si: 'Jeg skal hoppe fra dette flyet, men hvis fallskjermen min ikke fungerer, har jeg en annen plan.' Men i koding betyr det ofte bare at du har skjøvet problemet under teppet."

Avslutning:

"Så folkens, uansett hvor mange feil du møter, uansett hvor mange 'tracebacks' som kommer i veien, husk at Python alltid har ryggen din. Litt som en god venn som alltid er der for å si: 'OK, vi gjorde en feil, men vi kommer oss gjennom dette sammen.' Og husk – hvis alt annet feiler, kan du alltid 'print()' deg ut av problemene dine!"

Takk for i kveld!


Og som Python selv ville sagt: 'break()' før det blir for sent! Husk å try/except veien hjem!