Sådan lærer du Python på den nemme måde (og ikke som jeg gjorde)

Python formodes at være et af de nemmeste programmeringssprog at lære. At vide det fik mig til at føle mig ret dårlig første gang jeg prøvede og ikke lærte det. Det var endnu værre, anden gang jeg mislykkedes.

Men det viser sig - og jeg lærte dette ved tredje forsøg - at Python kan være virkelig tilgængelig, selv for en humanistisk-elskende ikke-koder som mig. Du skal bare nærme dig den på den rigtige måde.

Hvordan jeg mislykkedes med at lære Python ... første gang

Første gang jeg forsøgte at lære Python, var for næsten et årti siden. Jeg var ikke helt sikker på, hvad jeg ville gøre med det - måske automatisere noget af mit arbejde, måske skrive en lille app. Det virkede bare som en færdighed, der ville være god at kende.

Så jeg hentede en kopi af den daværende gratis Learn Python the Hard Way PDF og begyndte at prøve at arbejde igennem den.

Den første mur, jeg ramte, fik Python til at blive oprettet på mit eget system. Især på det tidspunkt blev de fleste af instruktionerne om, hvordan man gør det skrevet til erfarne programmører, og det tog mig for evigt at slog igennem det hele.

Jeg ville lære at skrive Python-kode, og mit første skridt var at bruge fem timer på at kæmpe med kommandolinjen? Jeg blev demotiveret, før jeg selv startede.

Når jeg endelig fik tingene klar, kunne jeg skrive kode sammen med bogen. Og jeg gjorde i et stykke tid ved at bremse et meget simpelt teksteventyrspil sammen.

Men da jeg ramte den første rigtige udfordring - de øjeblikke, der altid kommer i kodning, hvor noget ikke virker, og du bare ikke kan finde ud af hvorfor - stoppede jeg.

Jeg havde vigtigere ting at gøre end at slå mit hoved mod tastaturet og puslespil gennem uundgåelige fejlmeddelelser. Især da mit slutmål var at skabe et teksteventyrespil, som jeg ikke var ligeglad med, og som ingen nogensinde ville spille.

Hvordan jeg mislykkedes med at lære Python ... anden gang

Et par år senere prøvede jeg igen. Dengang arbejdede jeg som journalist, og jeg var blevet interesseret i datajournalistik og især webskrabning.

Jeg vidste, at det ville være nødvendigt at have Python-kodningsfærdigheder, så jeg fandt en online uddannelsesplatform - jeg vil ikke sige hvilken - og startede et begyndende Python-kursus.

Som de fleste MOOC'er var dette kursus videobaseret. Jeg ville se et foredrag om et Python-relateret emne, besvare en quiz på kursusstedet for at bekræfte, at jeg havde lært materialet, og derefter gå videre til næste modul.

Erfarne programmører kan sandsynligvis allerede gætte, hvad der skete næste gang: da jeg gik for at prøve at skrive Python-kode til mig selv, kunne jeg ikke gøre noget.

Når jeg så en anden kode i videoer og lyttede til deres forklaringer, havde jeg troet, at jeg lærte at gøre det for mig selv. Og de multivalgs- og udfyldningseksempler, jeg fik 100% på, syntes at bekræfte, at jeg havde forstået materialet.

Men selvfølgelig, da det var tid til at anvende det alene, kunne jeg ikke. Jeg kunne scanne tilbage gennem videoerne og kopiere, hvad underviseren gjorde, men jeg havde svært ved at anvende alt, hvad jeg havde lært, til mine egne projekter.

Det var også svært at være motiveret, fordi jeg arbejdede på ting, der ikke syntes relevante.

Jeg ville lære webskrabning. Men i stedet kæmpede jeg for at forstå videoforelæsninger om begrebet objektorienteret programmering (OOP). Hvad havde noget af dette at gøre med mine mål? Jeg var ikke sikker, og det gjorde det let at holde op. Igen.

Hvorfor jeg mislykkedes

Efterfølgende er det ikke så svært at finde ud af, hvorfor jeg mislykkedes. Første gang var mine store fejl:

  1. Ikke at have et klart mål . Hvorfor lærte jeg Python? Jeg vidste det ikke rigtig. Det gør det virkelig nemt at holde op, når det bliver svært - hvilket det altid vil før eller senere.
  2. For meget af en udfordring foran . Før eller senere bliver jeg nødt til at finde ud af, hvordan jeg får Python ind på mit system, men at opsætte dette med nul relevant erfaring, før jeg havde skrevet så meget som en, print(‘Hello world!’)var en opskrift på frustration og fiasko.

Når du lærer noget udfordrende, især som en totalbegynder, har du brug for tidlige gevinster for at hjælpe dig med at tro, at du virkelig kan gøre det.

Startende med en frustrerende udfordring, der ikke engang involverede kodning, sikrede, at jeg ikke fik de motiverende og bekræftende tidlige sejre.

Anden gang undgik jeg disse fejl, men i stedet lavede jeg nogle nye:

  1. Jeg lærte ikke ved at gøre. At se videoer og sende quizzer fik mig til at føle, at jeg kunne kode, men jeg kodede faktisk ikke. Da jeg gjorde prøve (og fejl) at skrive kode, det var endnu mere frustrerende, fordi jeg troede, at jeg allerede forstået det. Og fordi jeg var nødt til at lave en masse klik rundt i hver video for at se forskellige sektioner og genlære ting igen.
  2. Jeg havde et klart mål, men ikke en klar vej mod det. Jeg vidste, at jeg ville lave datajournalistik og webskrabning, men jeg tog et generisk Python-kursus. Det betød, at jeg lærte lektioner, der måske havde været kritiske for softwareudvikling, men som ikke var så relevante for datajournalistik. Jeg havde ofte svært ved at forbinde de grundlæggende ting, jeg lærte i klassen, med hvad jeg faktisk ville gøre med koden.

Gennem det hele lavede jeg også en anden stor mental fejl. Jeg tænkte på at lære Python meget sort-hvidt. Enten havde jeg ”lært Python” - hele Python - eller så havde jeg ikke.

Dette gjorde udsigten til læring virkelig skræmmende. Hver gang jeg ramte en udfordring, blev det værre af det faktum, at jeg tænkte på en eller anden mytisk Python "målstregen", der stadig var meget, meget langt væk.

Det er naturligvis vildledt. Som et talesprog er Python (og andre programmeringssprog) ikke noget, du nogensinde virkelig er færdig med at lære. Og ligesom et talt sprog behøver du faktisk ikke være flydende i Python for at få tingene gjort.

Som enhver førsteårsudvekslingsstuderende vil fortælle dig, er det bare at kunne spørge "Hvor meget koster dette?" og "Hvor er badeværelset?" på det lokale sprog kan virkelig påvirke din livskvalitet.

Det samme gælder for Python. Du behøver ikke at vide alt - eller endda så meget, nødvendigvis - for at gøre en reel forskel i dit eget liv.

Men det er en lektion, som jeg kun lærte ved et uheld.

Hvordan jeg faktisk lærte (noget) Python

I 2018 havde jeg givet op med at lære Python. Jeg havde prøvet to gange og mislykkedes to gange! Men så blev jeg ansat hos Dataquest, et firma der underviser i datalogiske færdigheder - inklusive Python-programmering - online.

Mit nye job krævede ingen kodningsfærdigheder, men jeg regnede med, at jeg stadig havde brug for at give læringsplatformen en chance. Jeg havde brug for at forstå vores produkt, og hvad vores elever følte, at de oplevede. Måske tænkte jeg, jeg kunne endda lære nok til at skrabe på nettet, som jeg havde planlagt før.

Så med en vis bange oprettede jeg en konto og startede vores kursussti for Python for Data Science.

Til min overraskelse føltes det sjovt og let. Og til min større overraskelse tog det slet ikke lang tid, før jeg følte, at jeg kunne bygge nogle projekter alene.

Jeg skrev et lille script for at sortere e-mails. Jeg brugte Python til hurtigt at analysere nogle undersøgelsesdata. Og i anfald og start byggede jeg det store webskrabnings- og analyseprojekt, som jeg drømte om, da jeg var journalist.

Jeg var - og stadig er - faktisk bruger Python til at lette mit arbejde, og forbedre mit liv. Et par år senere er jeg stadig en nybegynderkoder, men jeg kan hacke små scripts sammen for at gøre tingene lettere og løse dataanalyseproblemer, jeg har på arbejde ved hjælp af Python.

Dette skete, fordi jeg mere tilfældigt end ved design havde snublet over en måde at lære Python på, der undgik næsten alle de fejl, jeg havde lavet med min tidligere indsats:

  • Jeg kom ind med et klart mål - lær nok Python til at kunne udføre lidt dataarbejde, så jeg bedre kunne forstå vores kunder.
  • Jeg undgik den forudgående udfordring med at installere Python helt, fordi Dataquest lader dig lære og skrive kode lige i et browservindue.
  • Jeg lærte at kode ved faktisk at kode i stedet for at se en anden kode.
  • Jeg lærte på en sti, der var designet til Python-data, fungerer specifikt, så alt, hvad jeg lærte, og hver øvelse, jeg gjorde, føltes relevant.
  • Jeg prøvede bare at lære, hvad jeg havde brug for, og ikke at lære hele Python.

Sådan gør du det lettere at lære Python

Når jeg ser tilbage på mine fejl og derefter min utilsigtede succes, tror jeg, det koger ned til et par enkle takeaways:

Gå først ind med et mål. Hvorfor vil du lære Python? Hvad ønsker du specifikt at bygge med det? Hvis du ikke har et godt svar på dette spørgsmål, bliver det virkelig svært at forblive motiveret.

For det andet: Find en måde at lære på ved at gøre det, du rent faktisk vil gøre. Hvis du kan finde en målrettet læringsressource, som en platform, der lærer Python specifikt til game dev, er det godt. Men generelle læringsressourcer kan fungere for så længe du anvender det, du lærer, med nogle nybegynder-Python-projekter, mens du studerer.

Din læring til kode skal omfatte faktisk at skrive kode, og det skal faktisk være at skrive kode, der gør noget, du er interesseret i.

For det tredje skal du undgå den forudgående udfordring med at få Python og dets forskellige biblioteker oprettet på dit lokale system.

Der er masser af online platforme nu, der giver dig mulighed for at skrive og køre kode i en webbrowser, eller du kan skrive og køre kode i en notesbog på Google Colab eller en lignende platform. Bare prøv at gøre det så let for dig selv som muligt at komme i gang. Du kan bekymre dig om din lokale opsætning senere.

For det fjerde, prøv ikke at "lære Python." Det er et massivt langsigtet mål, der uden tvivl er slags uopnåeligt - selv de bedste Python-devs ved ikke bogstaveligt talt alt om det.

Prøv i stedet at lære, hvordan du bruger Python til at opbygge en simpel version af dit målprojekt eller en del af projektet. Lær derefter, hvordan du bruger Python til at gøre dette projekt større, eller hvordan du går videre til næste trin.

Opdel store opgaver i mindre stykker, og fokuser dine mål på at opbygge noget, så du får den psykologiske belønning ved at have bygget noget, når du gennemfører en.

Følg disse retningslinjer uanset din personlige grund til at lære Python, og jeg er ikke i tvivl om, at du er i stand til at nå dine mål uden at skulle fejle og holde op to gange undervejs!