Programmeren met Python – kies software voor Python programmeren

Marco den Teuling
0

Een ontwikkelomgeving (IDE) biedt tools om snel en efficiënt te programmeren met Python. Kies degene die past bij wat je met Python wilt doen, want ze zijn erg verschillend en Python is ongelooflijk veelzijdig. Dit overzicht helpt je op weg.

Om Python te programmeren is een ­eenvoudige teksteditor voldoende, zoals elk besturings­systeem die heeft.

Maar een ontwikkelomgeving (Integrated Development Environment oftewel IDE) biedt functies die programmeren met Python veel comfortabeler maken.

Programmeren met Python – makkelijker met de juiste software

Een ontwikkelomgeving (IDE) kan je bijvoorbeeld helpen met het volgende:

  • fouten in de syntaxis of bij het gebruik van haakjes automatisch markeren,
  • namen van klassen automatisch overal hernoemen,
  • code automatisch opmaken (bijvoorbeeld met kleur) voor betere leesbaarheid,
  • automatisch namen of andere code-elementen aanvullen, voor minder typen (‘code-completion’)
  • vanuit een enkele omgeving code schrijven, testen en uitvoeren,
  • diagrammen of andere uitvoer genereren.

Met een krachtige IDE kan bijvoorbeeld hernoemen van klassen met twee muisklikken uitgevoerd worden.

Programmeren met Python - kies software voor Python programmeren

Kies de beste software voor jouw doel

Aan alle verschillende behoeften kan niet worden voldaan door één programma alleen. Je eigen voorkeuren en wensen spelen een rol bij het kiezen van een bepaalde IDE.

Daarom beschrijven we hieronder verschillende ontwikkelomgevingen – van eenvoudig tot volwaardig, van snel geïnstalleerd tot browser-gebaseerd met een lokale webserver.

Zo kun je zelf voor programmeren met Python de software kiezen die op je wensen aansluit. Installeer ook eerst Python (in Windows of in Linux).

Programmeren met Python – interactieve console

Als je snel even een opdracht wilt typen, is het onnodig tijdrovend om eerst een bestand te moeten maken dat je daarna toch weer gaat verwijderen.

Als je gewoon python intypt zonder verdere parameters, bijvoorbeeld in een Opdrachtprompt-venster van Windows of Terminal-app van Linux, zal een interactieve console starten.

python opdrachten uitvoeren via interactie console

De interactieve console voert elke regel die je met Enter bevestigt meteen uit. Dit wordt ook wel REPL (Read, Evaluate, Print, Loop) genoemd.

De interactieve console bewijst zijn nut bij het afzonderlijk testen van kleine stukjes code. Hij is zelfs geschikt als zakrekenmachine, omdat het resultaat van elke berekening onmiddellijk in de console verschijnt.

Betere interactieve console

Standaard ontbreekt code-­completion: daarmee wordt al tijdens het intypen aangeven hoe de coderegel moet worden voortgezet, wat typewerk bespaart en fouten voorkomt.

Met het commando pip install ipython installeer je de IPython-console, die interactief Python typen veel aangenamer maakt.

Start die console gewoon met ipython zonder parameters en profiteer van kleur­rijke code die met de Tab-toets kan worden voltooid.

Programmeren met Python – Jupyter Notebooks

Soms wil je ook visualiseren en in de code docu­menteren hoe je tot een resultaat gekomen bent (bijvoorbeeld in de wetenschap en het onderwijs). Jupyter Notebooks zijn daar ideaal voor.

Jupyter gebruikt de term notebook voor een docu­ment dat bestaat uit opgemaakte tekst – desgewenst inclusief afbeeldingen – en codefragmenten. Je kunt elke grijs weergegeven codecel uitvoeren met Shift+Enter, de console-output en returnwaarden komen er dan onder te staan.

Jupyter Notebooks voor Python gebruiken

Het grootste voordeel is dat de browser ook dynamisch gegenereerde afbeel­dingen kan weergeven. Een voorbeeld: met de magische regel %matplotlib maak je inline diagrammen met de gelijknamige bibliotheek beschikbaar. Als de laatste regel van een codecel een diagramobject weergeeft, tekent de browser dat direct onder het blok. Inbedden van diagrammen gaat veel sneller dan bij een spreadsheet.

Door de duidelijke codestructuur, meestal met verklarende teksten tussen de cellen, en de onmiddellijk zichtbare diagrammen, zijn Jupyter Notebooks de favoriete tool van veel statistici en bijna alle AI-­onderzoekers. Google biedt het concept onder de naam ­Colab aan als een clouddienst.

Teksteditor met extra’s

Voor kleine scripts en het programmeren op een Raspberry Pi is een teksteditor voldoende. Hij moet in elk geval trefwoorden, getallen en strings markeren (syntax-highlighting), zodat je structuren in de code makkelijker kunt vinden.

Sommige standaard geïnstalleerde editors, zoals Gedit onder Gnome, kunnen dat van zichzelf al. Jammerlijke uitzonderingen zijn de standaard macOS-editor en Kladblok van Windows: een alternatief op die platformen is bijvoorbeeld Notepad++ (gratis download).

Als je echter verwacht dat je programmeerprojecten enkele honderden regels code lang zullen zijn, kun je beter meteen van begin af aan voor een krachtigere IDE gaan, zodat je niet twee keer hoeft te wennen aan een nieuwe programma-inter­face.

Editor met startknop

Een editor slaat het Python-bestand alleen op met de extensie .py. Om het uit te voeren, open je een consolevenster en typ je python filename.­py in.

Op de Raspberry Pi is Spyder een standaard geïnstalleerde editor met een startknop voor je programma. Dan hoef je niet over te schakelen naar het consolevenster als je een script wilt testen. Je kunt Spyder ook op andere systemen installeren.

Spyder teksteditor met startknop voor uitvoeren code

Uitgebreide teksteditor – Sublime Text

Sublime Text is een teksteditor die veel programmeer­talen ondersteunt – waaronder Python. Hij biedt syntax-highlighting voor Python en een execute-knop in de vorm van een Build-commando.

Je moet voor langdurig gebruik een licentie kopen (99 dollar), maar de testversie werkt voor onbeperkte tijd. Bij macOS klaagt Sublime soms over ontbrekende pakketten van Xcode voordat de code uitgevoerd wordt, maar bij alle andere besturingssystemen start het meteen na het installeren.

Nog makkelijker programmeren met plug-ins

Sublime werkt met de standaardinstellingen al prima, maar met een paar extra pakketten pas je de editor aan jouw wensen aan. De pakketten zijn opensource en kunnen rechtstreeks geïnstalleerd worden via de geïntegreerde Package Control. Klik daarvoor op Tools op de menubalk en vervolgens op Command Palette. Typ Install Package Control in en bevestig met Enter.

Handige plug-ins zijn bijvoorbeeld Sublime­REPL, Anaconda en BracketHighlighter.

Ondanks de vele plug-ins heeft Sublime niet alle functies van een IDE, daarom is deze editor vooral geschikt voor programmeurs die prijs stellen op een duidelijke interface en snelheid.

Sublime IDE voor Python code

Visual Studio Code gebruiken voor programmeren met Python

Visual Studio Code, afgekort VSCode of VSC, is een populaire IDE voor vele talen en besturingssystemen (Windows, Linux en macOS). VSC is ontwikkeld als opensource software en is vooral populair vanwege zijn modulaire opzet.

VSC wordt een Python-IDE door een Python-uitbreiding te installeren. De Marketplace voor extensies staat in VSC links op de menubalk bij het pictogram met de vier bouwstenen.

De populairste (maar niet de enige) Python-­extensie heet gewoon Python en is ook afkomstig van Microsoft. Na een paar regels zul je niet meer zonder de auto-completion ervan willen: wanneer je aan het typen bent, krijg je functie- en variabelennamen voorgesteld en verschijnt voor elke functie een pop-up met een uitleg van de parameters.

Ook handig: op de onderste balk kun je snel schakelen tussen verschillende Python-versies die op het systeem geïnstalleerd zijn. En als je graag met Jupyter Notebooks werkt, kun je die dankzij de betreffende extensie rechtstreeks in de IDE uitvoeren – het is niet nodig om daarvoor naar een browser te gaan.

Microsoft Visual Studio Code als IDE voor Python

Programmeren met Python voor beginners en gevorderden

Interessant in VSC voor gevorderden: een Python-debugger, een linter (een tool die stilis­tische en syntactische fouten vindt), hulp­middelen voor refactoring en besturingselementen voor unit-tests zijn ook ingebouwd.

Visual Studio Code is voor beginners een goed en gratis alternatief voor een gewone tekst­editor, maar ook een tool waarvoor veel professionals betaalde IDE’s links laten liggen.

Vooral als je naast Python ook andere programmeer- of mark-uptalen bewerkt, kun je met VSC en de juiste uitbreidingen een werkomgeving configureren voor alle programmeersituaties.

PyCharm – volwaardige IDE

Als je grote Python-projecten ontwikkelt en geen concessies wilt doen bij een IDE, zou je eens naar PyCharm moeten kijken. Die commerciële ontwikkel­omgeving van JetBrains parst de code zelf en maakt gebruik van zogeheten inspections om je tijdens het typen te wijzen op fouten, problemen en een onzuivere stijl.

PyCharm biedt ook zeer krachtige tools voor refactoring tot en met het veranderen van variabelennamen binnen strings. Een interactieve console, een testrunner en virtualenvs zijn naadloos geïntegreerd in de programma-interface. In de debuggermodus zet je met een enkele klik breakpoints naast de coderegel en PyCharm toont in een venster welke waarden aan de variabelen zijn toegewezen.

PyCharm is gratis beschikbaar als een Community-­editie zonder ondersteuning. In vergelijking met de Professional-versie ontbreken enkele functies die echter niet essentieel zijn om mee aan de slag te kunnen gaan. Beide versies openen dezelfde projectbestanden.

De IDE is geprogrammeerd in Java, een computer met 8 GB RAM of meer is aanbevolen.

PyCharm IDE met tabbladen en debuggervenster

Wat maakt het een volwaardige IDE?

Je kunt alle functies van PyCharm op de website vinden, we noemen hier een paar hoogtepunten:

  • Met Ctrl+klik op een functienaam ga je naar de definitie van de betreffende functie. Dat werkt ook met bibliotheken.
  • Door met de rechtermuisknop te klikken op een variabele en Find Usages te selecteren in het menu dat verschijnt, wordt een overzicht ­geopend van alle plaatsen waar die variabele gebruikt wordt. Het overzicht is zelfs gesorteerd op type. Dat werkt ook met functies en klassen.
  • Het menu-item ‘Code / Reformat Code’ formatteert een volledig bestand volgens de voorkeuren die zijn ingesteld bij de project­-instellingen. Als je stukken code selecteert, kun je ook alleen het geselecteerde deel automatisch formateren.
  • De variabelenlijst in de rechterhelft van het debuggervenster is mooi geïmplementeerd en toont de datatypes met kleine symbolen. Aangezien ­Python niet statisch getypeerd is, kun je daar snel zien of variabelen verkeerd toegekend zijn. Ook de groene vinkjes bij het uitvoeren van unit-tests zijn duidelijk, waarmee je mislukte tests veel sneller kunt herkennen dan bij de console-uitvoer van de testrunner.

Conclusie

IDE’s verlossen je van herhalende taken en waarschuwen je ook in een verbazingwekkend vroeg stadium voor fouten. Dat kan het programmeren enorm versnellen en veel uren aan debuggen besparen. Het hangt van je doel en voorkeuren af welke je kiest.

Van een IDE moet je geen wonderen verwachten: die helpt je niet een goed idee voor een algoritme te bedenken. Programmeren is een mentaal veeleisende taak voor creatieve mensen.

Met een geschikte IDE kun je programmeren met Python zo leuk mogelijk houden en – zo snel mogelijk – een werkend programma maken.

(Deze informatie is afkomstig uit het artikel in c’t 5, 2022, pagina 96, van Pina Merkert, Wilhelm Drehling, Jan Mahn en Noud van Kruysbergen)

Lees meer over Python en programmeren in c't 05/2024

Deel dit artikel

Marco den Teuling
Marco den TeulingHad als eerste eigen computer ooit een 16-bit systeem, waar van de 48 kilobyte toch echt niet ‘genoeg voor iedereen’ was. Sleutelt graag aan pc’s, van de hardware tot het uitpluizen van de BIOS-instellingen. Vindt ‘Software as a Service’ een onbedoeld ironische naamgeving.

Lees ook

Verschil Windows 10 en 11: dit moet je weten over de twee versies

Wat is het verschil tussen Windows 10 en Windows 11? In dit artikel geven we je een overzicht van enkele functionele verschillen tussen de menu's, hoe...

Chat GPT gebruiken: dit kun je allemaal doen met de chatbot van OpenAI

OpenAI heeft de ChatGPT-bot ontwikkeld als een taalmodel dat is getraind op een enorme hoeveelheid tekst op het internet. Je kunt ChatGPT gebruiken om...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er