Ik geef training in frontend tools en stacks als HTML, JavaScript, TypeScript, React, Angular en Vue. Ik schrijf boeken en artikelen over tal van (ICT-) onderwerpen. Ik was lead developer en directeur bij Yindo - Jouw digitale bibliotheek. Je kunt mij volgen op Twitter(@PeterKassenaar).

In dit blog vind je persoonlijke artikelen, die niet noodzakelijk tech-gerelateerd zijn.

Views and expressions are my own.

Terug naar de algemene site.

11november

Nieuwe uitgave–Praktisch Python

praktisch-pythonEen definitieve datum is nog niet bekend, maar ik ben bezig met het schrijven van een nieuw boek (als in: nieuw. Niet een update van een bestaande uitgave). De voorlopige werktitel is Praktisch Python. Het boek zal – zoals je op basis van de naam waarschijnlijk al had verwacht :-) - gaan over Python.

Hoewel je zeker Python kunt leren met dit boek naast het toetsenbord, wordt het geen leerboek in traditionele zin. Veel programmeertitels, die van mijzelf niet uitgezonderd overigens, beginnen met variabelen, vervolgens de lus-constructies van de taal, voorwaardelijke statements, collectietypen, functies enzovoort. Dit werkt goed als je een totale beginner bent.

Maar velen zijn inmiddels geen totale beginner meer. Programmeren komt aan bod op middelbare scholen, MBO’s, HBO’s en natuurlijk in het bedrijfsleven. Zelfs als je een ingewikkelde Excel-formule maakt, ben je in feite al aan het programmeren. In Python is dat in bijna alle gevallen makkelijker.

Projecten

Het boek is dan ook opgezet rondom projecten. Elk project geeft een oplossing voor een alledaags programmeerprobleem waarbij Python wordt ingezet als tool. Denk bijvoorbeeld aan:

  • “Ik wil alle afbeeldingen in een map in één keer verkleinen naar 800x600.”
  • “Ik wil een programma schrijven dat het laatste weerbericht ophaalt en toont.”
  • “Ik wil gegevens ophalen van internet, maar de API die de gegevens levert, werkt met authenticatie. Hoe doe ik dit?”
  • “Ik wil alle prijzen van een bepaald product uit een e-commerce website ophalen (web scraping) en opslaan in een Excel-bestand.”

Dit zijn allemaal klusjes die uitstekend met een – relatief klein – Python-programma kunnen worden opgelost.

  • Als je al Python kent, zie je hoe het kan worden ingezet om veelvoorkomende vraagstukken op te lossen.
  • Als je nog geen Python kent, zie je hoe de structuur en syntaxis van Python er uitziet en in real-life projecten wordt ingezet. Je leert al doende en hoeft niet eerst talloze tutorials of academische voorbeelden te volgen.

Het is wel handig als je enige voorkennis hebt op het gebied van programmeren. Dat mag natuurlijk ook een andere taal zijn zoals Java, C#, PHP of JavaScript. Dan kun je de projecten snel volgen.

Als jij wél een totale beginner bent, dan wil je misschien eerst een andere uitgave lezen, zoals het uitstekende Handboek Programmeren in Python.

Concept inhoudsopgave

Zoals gezegd, het boek is nog niet klaar (nog lang niet! Ik ben op dit moment bij hoofdstuk 2 :-(, uitgave wordt ‘ergens medio 2023’ verwacht), maar de globale inhoud is al wel min of meer vastgesteld:

  1. Introductie
    • Voorkennis, werkomgeving inrichten, debuggen, etc.
  2. Project Raden Maar
    • Raadspelletje met kennismaken met constanten, if, while, import en meer
  3. Project Geboortedatum
    • werken met date en datetime
    • Argumenten op de command line meegegven
  4. Project Mastermind
    • Het bekende hersenkrakerspel nabouwen in Python
  5. Project Werken met API’s
    • Gegevens ophalen en verwerken uit een van talloze open API’s op internet.
    • data verwerken met de module json.
  6. Project API’s met authenticatie
    • Bij veel API’s is authenticatie verplicht. Dit project geeft hiervan een voorbeeld.
  7. Project Eigen API maken met Flask
    • Flask is een aanvullend webframework voor Python. Zo stel je snel eigen data beschikbaar.
  8. Project Webapp maken met Django (of ook weer Flask)
    • Behalve API’s kun je ook complete websites maken. Hiervoor wordt vaak Django (of Flask) gebruikt.
  9. Project Werken met bestanden
    • Bestanden openen en sluiten, lezen en schrijven.
    • csv-data.
    • Exif-data van alle foto’s uit een directory verwijderen/aanpassen (in verband met privacy).
  10. Project Afbeeldingen bewerken
    • JPG en PNG bestanden manipuleren met pillow.
  11. Project Web Scraping
    • Gegevens opzoeken vanaf websites en verder opslaan en bewerken
    • HTML parsen met de module bs4 (BeautifulSoup4)
  12. Project Excel
    • Excel-worksheets openen, lezen, bewerken en weer opslaan
  13. Project PDF
    • PDF’s openen, lezen en schrijven met PyPDF2.
  14. Project Text-To-Speech
    • Geschreven tekst uit een programma (of een bestand) omzetten naar een mp3-bestand met gTTS.

Aanvullende inhoud

Met de voorgaande inhoud wordt het aantal beschikbaar gestelde pagina’s voor het boek (200-300) waarschijnlijk wel gevuld. Mocht er nog ruimte over zijn, dan staan de volgende projecten ‘op de reservebank’. Het boek wordt dan uitgebreid met:

  1. Project Registratie
    • Een app maken voor registraties van een evenement/concert enzovoort
    • Werken met databases / sqlite / SQL
  2. Project E-mail
    • De modules smtplib, imapclient en ezgmail.
  3. Project GUIs
    • Module TKinter gebruiken om grafische toepassingen te schrijven.
  4. Project IOT
    • Applicaties schrijven voor Raspberry Pi, Arduino, etc.

Meewerken? Op de hoogte blijven?

Zoals je hebt begrepen is bovenstaande inhoud nog een concept. Waarschijnlijk gaat het boek er op deze manier uitzien, maar als jij vindt dat andere onderwerpen beter geschikt zijn, laat het dan vooral weten!

Ik ontvang graag feedback en zal op elke realistische bijdrage of vraag reageren.

Als je alleen op de hoogte gehouden wilt worden van het verschijnen van dit boek, laat dan je gegevens achter via Contact. Je ontvangt dan eenmalig (niet vaker, geen spam, je e-mailadres wordt weer verwijderd conform de AVG-wetgeving, etc) een mailtje met aankondiging, definitieve inhoud en meer informatie.

Opmerkingen welkom!

Peter Kassenaar
-- 11 november 2022