Kuidas õppida Pythoni lihtsal viisil (ja mitte nii, nagu ma tegin)

Python peaks olema üks lihtsamaid programmeerimiskeeli, mida õppida. Teadmine, mis tekitas mul esimest korda proovimisel üsna halva enesetunde ja jättis selle õppimata. Veel hullem oli teine ​​kord, kui ma ebaõnnestusin.

Kuid selgub - ja ma õppisin seda kolmandal katsel -, et Python võib olla tõesti ligipääsetav ka minusugusele humanitaarteaduslikule mittekooderile. Sellele tuleb lihtsalt õigesti läheneda.

Kuidas mul Pythoni õppimine ebaõnnestus ... esimest korda

Esimest korda proovisin Pythoni õppida peaaegu kümme aastat tagasi. Ma polnud päris kindel, mida ma sellega teha tahan - võib-olla automatiseeriksin mõne oma töö, võib-olla kirjutaksin väikese rakenduse. See tundus lihtsalt oskusena, mida oleks hea teada.

Nii et võtsin kätte tolleaegse tasuta PDF -i Learn Python the Hard Way koopia ja hakkasin seda läbi töötama.

Esimene seina, mille alla sain, oli Pythoni enda süsteemi seadistamine. Eriti sel ajal kirjutati suurem osa juhistest, kuidas seda teha, kogenud programmeerijatele ja mul kulus igavesti, et see kõik läbi lüüa.

Tahtsin õppida Pythoni koodi kirjutama ja minu esimene samm oli kulutada viis tundi käsureaga võitlemiseks? Mind motiveeriti enne, kui ma isegi alustasin.

Kui olin asjad lõpuks paika saanud, sain raamatuga koos koodi kirjutada. Ja ma tegin mõnda aega aeglustades väga lihtsa tekstiseiklusmängu koostamist.

Aga kui tabasin esimese tõelise väljakutse - need hetked, mis tulevad alati kodeerimisel, kus miski ei toimi ja sa lihtsalt ei saa aru, miks -, siis lõpetasin.

Mul oli teha veel olulisemaid asju kui peaga klaviatuuri ja mõistatusi läbi lükkamatute veateadete tagumine. Eriti kui minu lõppeesmärk oli teha tekstiseiklusmäng, mis mulle korda ei läinud ja mida keegi kunagi ei mängiks.

Kuidas mul Pythoni õppimine ebaõnnestus ... teist korda

Mõni aasta hiljem proovisin uuesti. Selleks ajaks töötasin ajakirjanikuna ja mind hakkas huvitama eelkõige andmeajakirjandus ja eriti veebikraapimine.

Teadsin, et Pythoni kodeerimisoskus on vajalik, nii et leidsin veebipõhise haridusplatvormi - ma ei ütle, milline - ja alustasin algavat Pythoni kursust.

Nagu enamik MOOC-sid, oli ka see kursus videopõhine. Vaataksin loengut Pythoniga seotud teemal, vastaksin kursuse saidil viktoriinile, et kinnitada, et olen materjali õppinud, ja liigun siis järgmise mooduli juurde.

Kogenud programmeerijad võivad ilmselt juba arvata, mis edasi juhtus: kui läksin proovima endale Pythoni koodi kirjutada, ei saanud ma midagi teha.

Vaadates videotes kellegi teise koodi ja kuulates nende selgitusi, olin arvanud, et õpin, kuidas seda enda jaoks teha. Ja valikvastustega ja täidetavad viktoriinid, millele ma 100% ostsin, näisid kinnitavat, et olin materjalist aru saanud.

Aga muidugi, kui tuli aeg seda iseseisvalt rakendada, ei saanud ma seda teha. Ma saaksin videoid tagasi skannida ja kopeerida, mida õppejõud tegi, kuid mul oli väga raske kõike oma õpitud projektidesse rakendada.

Samuti oli raske motivatsiooni hoida, sest töötasin asjadega, mis ei tundunud asjakohased.

Tahtsin õppida veebi kraapimist. Kuid selle asemel püüdsin ma mõista videoloenguid objektorienteeritud programmeerimise (OOP) kontseptsioonist. Mida oli sellel kõigel pistmist minu eesmärkidega? Ma polnud kindel ja see muutis lõpetamise lihtsaks. Jälle.

Miks ma läbi kukkusin

Tagantjärele pole liiga keeruline aru saada, miks ma ebaõnnestusin. Esimest korda olid minu suured vead järgmised:

  1. Selge eesmärgi puudumine . Miks ma õppisin Pythoni? Ma ei teadnud tegelikult. See muudab lõpetamise väga lihtsaks, kui minek läheb raskeks - mis varem või hiljem alati.
  2. Ees on liiga suur väljakutse . Varem või hiljem peaksin välja mõtlema, kuidas Pythoni oma süsteemi saada, kuid seadistades selle nulliga seotud kogemustega, enne kui kirjutasin nii palju kui print(‘Hello world!’)pettumuse ja ebaõnnestumise retsepti.

Kui õpite midagi väljakutset pakkuvat, eriti täiesti algajana, vajate varaseid võite, et aidata teil uskuda, et saate sellega tõesti hakkama.

Alustades pettumust valmistava väljakutsega, mis ei sisaldanud isegi kodeerimist, tagati, et ma ei saanud neid motiveerivaid ja kinnitavaid varaseid võite.

Teisel korral vältisin neid vigu, kuid tegin selle asemel mõned uued:

  1. Ma ei õppinud tegutsedes. Videote vaatamine ja viktoriinide läbimine tekitas minus tunde, et oskan kodeerida, kuid tegelikult ma ei kodeerinud. Kui ma tegin proovida (ja ei) kirjutada koodi, see oli veelgi masendav, sest ma arvasin, et ma juba aru saanud. Ja kuna ma pidin igas videos hulga klikke tegema, et erinevaid sektsioone uuesti vaadata ja asju uuesti õppida.
  2. Mul oli selge eesmärk, kuid mitte selge tee selle poole. Teadsin, et tahan tegeleda andmeajakirjanduse ja veebi kraapimisega, kuid läbisin Pythoni üldise algkursuse. See tähendas, et õppisin tunde, mis võisid tarkvaraarenduse jaoks olla kriitilised, kuid ei olnud nii asjakohased andmeajakirjanduse jaoks. Mul oli sageli raske ühendada tunnis õpitud põhitõdesid sellega, mida ma tegelikult tahtsin koodiga teha.

Kogu selle jooksul tegin ka veel ühe suure vaimse vea. Mõtlesin Pythoni õppimisest väga mustvalgelt. Kas ma olin „Pythoni õppinud“ - kogu Pythoni - või mitte.

See tegi õppimisvõimaluse tõesti hirmutavaks. Alati, kui tabasin väljakutset, tegi seda hullemaks asjaolu, et mõtlesin mingile müütilisele Pythoni “finišijoonele”, mis oli ikka väga- väga kaugel.

See on muidugi ekslik. Nagu kõneldav keel, pole ka Python (ja muud programmeerimiskeeled) midagi sellist, mida te kunagi õieti lõpetate . Ja nagu kõnekeel, ei pea te ka asjade tegemiseks Pythoni keelt valdama.

Nagu iga esimese aasta vahetusõpilane teile ütleb, saate lihtsalt küsida: "Kui palju see on?" ja "Kus on vannituba?" kohalikus keeles võib teie elukvaliteeti tõesti mõjutada.

Sama kehtib ka Pythoni kohta. Selleks, et oma elus reaalselt muutuda, ei pea te kõike teadma - isegi mitte kõike , tingimata.

Kuid see on õppetund, mille sain ainult kogemata.

Kuidas ma tegelikult (mõnda) Pythoni õppisin

2018. aastaks olin loobunud Pythoni õppimisest. Ma olin kaks korda proovinud ja kaks korda ebaõnnestunud! Siis aga palgati mind ettevõttesse Dataquest, mis õpetab andmeteaduse oskusi - sealhulgas Pythoni programmeerimist - võrgus.

Minu uus töö ei nõudnud mingit kodeerimisoskust, kuid arvasin, et pean siiski õppeplatvormi proovima. Mul oli vaja mõista meie toodet ja seda, mida meie õppijad kogesid. Võib-olla mõtlesin, et saan isegi piisavalt õppida veebi kraapimiseks, nagu ma varem plaanisin.

Niisiis, mõningase kartusega lõin konto ja alustasin meie Python for Data Science kursuse rada.

Minu üllatuseks tundus see lõbus ja lihtne. Ja minu suuremaks üllatuseks ei läinud üldse kaua aega, enne kui tundsin, et saan mõned projektid ise üles ehitada.

Kirjutasin e-kirjade sorteerimiseks väikese skripti. Mõnede uuringuandmete kiireks analüüsimiseks kasutasin Pythoni. Ja ehituskonstruktsioonide järgi ehitasin suure veebikraapimise ja analüüsimise projekti, millest unistasin juba ajakirjanikuna.

Ma olin - ja ikka olen - tegelikult kasutavad Python hõlbustada minu töö, ja parandada oma elu. Paar aastat hiljem olen ma veel algaja kodeerija, kuid võin häkkida kokku väikesi skripte, et muuta asi lihtsamaks ja lahendada Pythoni abil tööl olevad andmeanalüüsi probleemid.

See juhtus seetõttu, et pigem juhuslikult kui kujunduse järgi olin sattunud Pythoni õppimise viisi otsa, mis vältis peaaegu kõiki varasemate jõupingutustega tehtud vigu:

  • Tulin sisse selge eesmärgiga - õppige piisavalt Pythoni, et saaksin teha natuke andmetööd, et saaksin paremini mõista meie kliente.
  • Ma vältisin Pythoni installimise algset väljakutset täielikult, sest Dataquest võimaldab teil õppida ja kirjutada koodi otse brauseriaknas.
  • Õppisin kodeerimist tegelikult kodeerima, mitte ei vaadanud kellegi teise koodi.
  • Ma õppisin rajal, mis oli mõeldud spetsiaalselt Pythoni andmetöötluseks, nii et kõik, mida ma õppisin, ja kõik harjutused, mida ma tegin, tundusid asjakohased.
  • Ma lihtsalt üritasin õppida seda, mida mul vaja oli, mitte kogu Pythoni õppimist.

Kuidas muuta Pythoni õppimine lihtsamaks

Vaadates tagasi oma vigadele ja seejärel minu juhuslikule edule, arvan, et see taandub mõnele lihtsale kaasavõtmisele:

Kõigepealt minge eesmärgiga sisse. Miks soovite Pythoni õppida? Mida konkreetselt soovite sellega ehitada? Kui teil pole sellele küsimusele head vastust, on motivatsiooni säilitamine väga raske.

Teiseks leidke viis õppimiseks, tehes asja, mida tegelikult tahate teha. Kui leiate sihitud õppematerjali, näiteks platvormi, mis õpetab Pythoni spetsiaalselt mängude arendamiseks, on see suurepärane. Kuid üldised õppevahendid võivad töötada liiga kaua, kui rakendate õppimise ajal mõne algaja Pythoni projektiga õpitut.

Teie õppimine kodeerimiseks peab sisaldama reaalset koodi kirjutamist ja see peab olema tegelikult koodi kirjutamine, mis teeb midagi, mis teid huvitab.

Kolmandaks vältige esmast väljakutset Pythoni ja selle erinevate teekide seadistamiseks oma kohalikku süsteemi.

Praegu on palju veebiplatvorme, mis võimaldavad teil veebibrauseris koodi kirjutada ja seda käitada, või saate koodi kirjutada ja käitada Google Colabi märkmikus või sarnases platvormis. Lihtsalt proovige muuta alustamine enda jaoks võimalikult lihtsaks. Hiljem võite muretseda kohaliku seadistuse pärast.

Neljandaks, ärge proovige Pythoni õppida. See on tohutu pikaajaline eesmärk, mis on vaieldamatult kuidagi kättesaamatu - isegi parimad Pythoni arendajad ei tea sellest sõna otseses mõttes kõike.

Selle asemel proovida õppida, kuidas kasutada Python ehitada lihtne versioon teie eesmärk projekti või ühe osa sellest projektist. Seejärel saate teada, kuidas Pythoni abil seda projekti suuremaks muuta või kuidas järgmisele sammule liikuda.

Jagage suured ülesanded väiksemateks tükkideks ja suunake oma eesmärgid millegi ehitamisele, et saaksite selle valmimisel psühholoogilise tasu.

Järgige neid juhiseid olenemata teie isiklikust põhjusest Pythoni õppimiseks ja ma pole kahtlustki, et saate oma eesmärkideni jõuda ilma , et peaksite läbi kukkuma ja teelt kaks korda loobuma!