Eén dagje spelen met IDLE

(Dutch translation by Mark Lambrecht)

Deze pagina dient om beginnende Python gebruikers, die zich wat verloren voelen, terug op weg te zetten. Na het installeren van Python op je computer, kan je je de vraag stellen : wat kan ik er nu mee aanvangen ?

Misschien is het goed van een "visuele" gids te hebben, die elke aanvankelijke paniekaanvallen wegneemt. Dan ben je aangekomen op de goede webstek. We bekijken een kleine IDLE sessie (IDLE staat voor "Integrated Development Environment"). IDLE is ontworpen om te voorzien in een eenvoudige manier om de programmeertaal te verkennen. Gedurende deze sessie, maak ik een aantal opvallende fouten, alleen om te tonen wat je kan verwachten wanneer niet alles van een leiden dakje verloopt.

Tussen haakjes, dit is een online document. Als je suggesties hebt, of als je correcties of improvisaties wil toevoegen, mail mij gerust dyoo@hkn.eecs.berkeley.edu. Vergeet niet dat er een prachtige bron van Python informatie op je wacht op deTutor mailing list :'wij' zijn een groep mensen die elkaar interessant Python materiaal willen tonen. We leren allemaal samen bij, dus aarzel niet om je bij deze mailing lijst toe te voegen !


Ok, laten we aannemen dat we Python al geïnstalleerd hebben. (Zoniet, brengt dat een bezoek aan http://python.org en laad de meest recente Python interpreter af. Terwijl dit geschreven werd, is dat Python 2.1) Het eerste dat we willen doen is het op te starten natuurlijk! We doen dit door IDLE te openen, die je onder Het Start menu zou moeten vinden onder de nieuw-aangemaakte 'Python program group'.


Nu zien we aan venster dat zich wonderbaarlijk opent :

Dit venster is het belangrijkste in IDLE, en wat je nu ziet noemt het 'Interpreter' venster. De 'Interpreter' laat toe van commando's direct in te typen als Python taal, en zodra je dit doet zal Python die uitvoeren en de resultaten terug op het schermen uitspuwen. We gaan vrij veel van dit venster gebruik maken bij onze Python verkenning : het is heel handig want je kan onmiddellijk het resultaat van je acties vaststellen. Je kan je het best voorstellen als een heel krachtige rekenmachine.


Laten we iets proberen nu ! Om de traditie te volgen, zullen we proberen Python de onsterfelijke woorden "Hello World" te laten uitspreken.

De '>>>' symbolen zijn als een prompt : als ze verschijnen weet je dat Python klaar is om een nieuw commando in te tikken. Ook stel je nu vast, dat Python het resultaat onmiddellijk op het scherm vertoont zodra het klaar is.


Ok, dit lijkt eenvoudig genoeg. Laten we nog wat meer proberen. Als je hieronder kijkt :

we zien hier het resultaat van een aantal andere commando's. Geen paniek, als je nog niet de exacte regels kent om te programmeren ! Het belangrijkste is dat we kunnen experimenteren met Python door eenvoudigweg de commando's in te tikken. Als er iets fout zit, kunnen we gewoon corrigeren en opnieuw proberen.

Als je zover geraakt bent, weet je genoeg om wat te spelen met Python ! Sla één van de handboeken open, die je hier kan vinden : Python For Beginners en start het experiment… desnoods tot in de vroege uurtjes ! (grijns)


We hebben nu lang genoeg geprobeerd en je kan je op dit punt de vraag stellen : wat indien we stoppen en opnieuw willen beginnen. Hoe zorgen we dat de computer nog weet wat ik allemaal al getypt had ?

De oplossing is subtiel : we kunnen niet direct bewaren wat in het interpreter's venster te zien is, omdat het zowel datgene wat we typten als de systeemantwoorden daarop zou wegschrijven. Wat ideaal zou zijn is een klaargemaakt bestand te gebruiken, dat al onze opdrachten bevat en wel netjes onder elkaar. Als we later opnieuw in de stemming zijn, open we gewoon opnieuw dat bestand en we "tonen" het aan Python. Dit bespaart ons het werk van alles opnieuw te moeten intypen !

Laten we dat eens uitproberen : eerst beginnen we met een schone lei door een nieuw venster te openen.

Hier zie je het resultaat van deze menu-opdracht

Merk wel op dat er niets te zien is in dit nieuw venster. Dit dient volledig voor onze opdrachten. Deze keer zal Python niet tussenbeide komen met systeemantwoorden. Laten we dit het "Programmavenster" noemen om het te onderscheiden van het Interpretervenster.


Wat we wilden doen, is een aantal van onze zaken bewaren die we uitgeprobeerd hadden in het Interpretervenster. Doe dat door al de opdrachten te typen in het Programmavenster (ofwel kan je hetzelfde resultaat bereiken door kopiëren/plakken van de tekst uit het Interpretervenster).

Ok, genoeg gekopiëerd en geplakt. Eén belangrijke opmerking hier is dat we nauwgezet de ">>>" moeten verwijderen omdat deze niet echt deel uitmaken van onze programma-opdrachten. De interpreter gebruikt deze gewoon om ons te melden dat je in de Interpreter-mode zit, maar nu we alles overbrengen naar een apart bestand, kunnen we veilig de Interpreter symbolen verwijderen.


Bewaar dit bestand nu : de bewaaropdracht bevindt zich onder het 'File' menu:


Nu dat we het programma bewaard hebben, hoe kunnen we het programma uitvoeren ? Als je kijkt naar de menu's in het programmavenster,

zien we een menu-optie 'Run script' (voer het script uit) en dit is wat we willen. Wat we willen zien is Python die het programma uitvoert en dan de resultaten in het Interpreter Window vertoont.

Let er op dat ik een typfout gemaakt had : ik heb niet exact gekopieerd wat ik in de Interpreter Window had gekopieerd. Zou dit de zaken veranderen ?

Oow. Dit is een voorbeeld van wat Python een syntaxfout noemt. Python ziet dat we een typfout gemaakt hebben, en raadt ons aan nog eens goed naar ons programma te kijken. De ontwikkelaars van Python vonden het beter de fout te tonen dan zelf proberen te raden wat de programmeur nu precies bedoeld had. Dit is een keuze die werd gemaakt tussen expliciet dan wel impliciet de programmacode interpreteren. Er zijn bepaalde regels die Python volgt om te beslissen wat goed is en wat er verdacht uitziet. Naarmate je Python beter beheerst, zal je aanvoelen hoe de regels precies werken. En als je nattigheid voelt, dan ja, kan je het een beetje vergelijken met grammatica. Haha!

Python is ontwikkeld genoeg om ons naar een probleem toe te leiden en in dit geval, ons te melden dat we iets vergaten aan het eind van de regel. Hier wordt gevraagd van een aanhalingsteken toe te voegen. Laten we dat dan nu maar doen..


Ok, stel dat we nu onze onnozele typfout verbeterd hebben. Laten we proberen van het programma opnieuw te lopen.

Weer een probleem, deze keer niet zo moeilijk, eerder onnozel. Iets dat je kan verrassen, is dat IDLE, iedere keer als je een programma probeert te lopen, je zal vragen het Programmavenster te bewaren : dit is een eigenschap van de gebruikersinterface die zorgt dat we ons werk niet verliezen na het lopen van een programma.

(Nota: de bovenstaande opmerking zal waarschijnlijk overbodig zijn : de meeste mensen waren geïrriteerd door het luie gedrag van IDLE, dat ze om een wijziging van de gebruikersinterface vroegen. We hopen dat de ontwikkelingsversie van IDLE deze foutmelding niet meer vertoont.

Drie maal is scheepsrecht wordt gezegd, laten we daarom nog eens ons programma proberen. Hopelijk loopt het nu wel allemaal goed.


Terwijl we met Python spelen, zal je opmerken dat je meer en meer tussen het Interpreter Window en Programma window ‘reist’. De reden is dat we de Interpreter kunnen gebruiken als klein laboratorium voor onze kleine probeersels. Nadat we tevreden (of het beu) zijn, kunnen we ons werk bewaren in een programmabestand.

Dit veronderstelt natuurlijk dat we dit bestand later terug kunnen openen en gebruiken ; het zou anders nogal stom zijn een bestand te bewaren om het daarna niet meer te kunnen gebruiken. Laten we dat nog eens tonen, en dan er dan mee ophouden voor vandaag. Ik zal alles dichtdoen in IDLE, en van een schone lei herbeginnen.

We vinden het Open commando onder het File menu

en als alles goed gaat, zien we een nieuw Programmavenster dat zich opent :

We kunnen eraan beginnen ! We kunnen onze oude werk bewaren en het later terug openen. Het is niet alsof dit een wereldschokkende eigenschap zou zijn, maar het is wel cruciaal als je langer dan een dag wil spelen met Python…

Dit is zowat alles dat je dient te weten om interessante dingen te doen met IDLE. Deze gids sloeg een heleboel zaken over die je kan doen met IDLE : IDLE is meer dan een editor, maar het duurt soms wel een tijdje om alle kenmerken te exploreren. Laten we daarom maar stoppen voor vandaag. Voor zij met een onverzadigbare nieuwsgierigheid vind je hier een goede IDLE Documentatie" verbinding. Als je nog vragen zou hebben, kom gerust langs bij de Python Tutor mailing list (een Engelstalige lijst); meestal is er iemand die heel graag over Python met je spreekt. Dit was plezant, en ik hoop dat je er wat aan gehad hebt !

Terug naar mijn persoonlijke Python webstek.