Inhoudsopgave:
- Stap 1: Python 2 of 3?
- Stap 2: Python interactief versus script
- Stap 3: IDLE: interactief
- Stap 4: IDLE: Script
- Stap 5: Een Python-programma uitvoeren
- Stap 6: Python + Linux Shell
- Stap 7: Maak een foto en speel audio af met Python
- Stap 8: Python buiten IDLE gebruiken
- Stap 9: Screenshot van programma
Video: Inleiding tot Python: 9 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Python is een zeer nuttige en flexibele computerprogrammeertaal gemaakt door Guido van Rossum. Python is ook een applicatie op de Raspberry Pi die de code die je schrijft interpreteert in iets dat de Raspberry Pi kan begrijpen en gebruiken. Op je desktopcomputer zou je Python moeten installeren, maar het wordt al geleverd met Raspbian, dus het is klaar voor gebruik.
Je denkt misschien dat Python is vernoemd naar het type slang, maar het is eigenlijk vernoemd naar de Monty Python's Flying Circus-tv-show. Voor degenen onder u die het niet weten, dit was een Britse comedyshow die voor het eerst werd uitgezonden in de jaren 70. Ik moedig je aan om de schets van Ministry of Silly Walks te bekijken:)
De bovenstaande afbeelding is gemaakt op Terry Gilliam-manier door Allison Parten en gevonden onder de Creative Commons Attribution-licentie.
In vergelijking met andere computertalen is Python gemakkelijk te lezen en te begrijpen, wat het ideaal maakt voor beginners. Maar vergis je niet, Python is ook erg krachtig en wordt gebruikt om complexe, creatieve en commerciële software te maken. Deze redenen en meer maken Python de nummer één taal om mee te beginnen bij het schrijven van programma's voor de Raspberry Pi (hoewel er meerdere talen kunnen worden gebruikt).
Zoals elke taal heeft Python een grammatica met regels voor het ordenen van woorden en interpunctie. De term die wordt gebruikt voor deze fundamentele regels voor het structureren van een taal wordt syntaxis genoemd. Ik zal in deze les wijzen op de syntaxis van Python, samen met voorbeeldcode die u kunt uitproberen. In een klas van deze omvang is het onmogelijk om alles te bespreken wat Python kan doen, maar deze les en de volgende, getiteld Gebruik de GPIO's en ga verder met Python, zullen je op weg helpen met je eerste programma's. Terwijl je de voorbeelden leest en doorwerkt, leer je enkele van de fundamentele principes van Python en programmeren in het algemeen.
Stap 1: Python 2 of 3?
Er zijn twee versies van Python die momenteel worden gebruikt en onderwezen. Hoewel ik niet in detail zal treden over hoe ze anders zijn, is het belangrijk om te weten dat er een verschil is. Als u dit weet, bespaart u uzelf een hoop hoofdbrekens als online gevonden voorbeelden niet werken.
Python 2 is gepland om officieel met pensioen te gaan in 2020, zoals aangegeven door de Python Software Foundation. Ze zeggen dit op hun site: "Als laatste van de 2.x-serie, zal 2.7 een langere onderhoudsperiode hebben. Het huidige plan is om het gedurende ten minste 10 jaar te ondersteunen vanaf de eerste 2.7-release. Dit betekent dat er bugfix-releases tot 2020." Er is zelfs een aftelklok voor de lol, of misschien kunnen mensen een afscheidsfeestje plannen om het einde van Python 2 af te ronden.
In deze les gebruiken we beide. Normaal gesproken zou ik naar de toekomst kijken en Python 3 gebruiken, maar er gebeurde iets tijdens het maken van voorbeelden voor deze klasse. Een stukje software dat ik voor het uiteindelijke Python-programma wilde gebruiken, was nog niet geüpdatet om Python 3 te ondersteunen. Dat illustreert eigenlijk perfect mijn punt over hoe het op dit moment de moeite waard is om beide te vermelden.
Stap 2: Python interactief versus script
Wanneer u met de Python-toepassing werkt, kunt u uit twee modi kiezen: interactief en script.
De interactieve modus gebruikt de Python-shell om Python-code direct te interpreteren nadat deze is getypt en je op Enter hebt gedrukt. Het is geweldig om stukjes van een programma in te leren en te testen. In deze les zullen we een aantal manieren bespreken om toegang te krijgen tot de Python-shell.
Wanneer je een pythonscript schrijft, ook wel een programma genoemd, gebruik je niet de interactieve shell maar een teksteditor. Op deze manier kun je meerdere regels Python-code opslaan, bewerken en later uitvoeren wanneer je maar wilt.
Stap 3: IDLE: interactief
Met de geïnstalleerde Python-software komt Python's standaard ontwikkelomgeving genaamd IDLE (Integrated DeveLopment Environment). Hier ga je aan de slag met het schrijven van je eerste Python-programma's!
IDLE bestaat uit twee delen:
1) Het Python-shellvenster, dat u toegang geeft tot Python in interactieve modus.
2) Een bestandseditor waarmee u bestaande Python-scripts kunt maken en bewerken, ook wel scriptmodus genoemd.
Open Python 3 (IDLE) vanuit Menu > Programmeren. Het venster dat u ziet, wordt de Python-interpreter of shell-venster genoemd. De drie groter-dan-tekens ">>>" worden de prompt genoemd. Wanneer u de prompt ziet, betekent dit dat Python wacht op u om hem te vertellen iets te doen. Laten we het een code geven!
Typ de volgende verklaring om de stad waarin je woont een schreeuw te geven. Ik woon in San Francisco, dus mijn verklaring is:
print ("Hallo, San Francisco!")
Druk op enter en alles wat je tussen de aanhalingstekens plaatst, wordt in de shell onder de prompt afgedrukt. Het print() statement verschilt tussen Python 2 en Python 3. In Python 2 worden haakjes niet gebruikt en ziet er als volgt uit:
print "Hallo, San Francisco!"
Je hebt zojuist de basis "hallo, wereld" van Python uitgevoerd, maar met een kleine (superkleine) draai. Laten we hier stoppen en vaststellen wat u zojuist hebt getypt.
Functies
Print() staat bekend als een functie. Een functie vermindert herhalingen en helpt een programma georganiseerd te houden door elke keer dat het wordt aangeroepen een codeblok uit te voeren. Wanneer u print() typt, roept u de afdrukfunctie aan, die achter de schermen regels code uitvoert die de computer de instructie geven om de woorden weer te geven die u tussen haakjes plaatst. Print() is een ingebouwde functie die je op elk moment in Python kunt aanroepen, maar je kunt ook je eigen functies schrijven.
Laten we de interactie tussen jou en Python dynamischer maken door gebruikersinvoer toe te voegen. Typ het volgende in een nieuw venster:
name = input("Hallo, wat is uw naam?")
De functie input() neemt gebruikersinvoer van het toetsenbord en geeft u de mogelijkheid om de gebruiker een bericht te sturen. In dit geval is dat bericht een begroeting en een vraag waarin de gebruiker (u) wordt gevraagd wat uw naam is. Nadat u op enter hebt gedrukt, wordt de vraag afgedrukt en wordt gewacht op uw antwoord. Ga je gang en antwoord met je naam.
De naam = links van de functie input() wordt een variabele genoemd.
Variabelen
Net als functies zijn variabelen ook een kernelement van elke programmeertaal. Een variabele gedraagt zich als een lege container waar je een stukje data in kunt stoppen. Als je data erin zet, geef je het een naam alsof je het op de buitenkant van de container schrijft. De unieke naam die u eraan geeft, kan vervolgens worden gebruikt om naar de gegevens in uw programma te verwijzen. Je kunt een variabele bijna alles een naam geven, maar het moet zo beschrijvend mogelijk zijn. Dit maakt uw programma gemakkelijker te begrijpen wanneer u het later leest. Gegevens die in een variabele zijn opgeslagen, kunnen veranderen; een voorbeeld hiervan ziet u in de volgende les.
Je naam is opgeslagen in de variabele genaamd name (probeer het anders te noemen). U kunt nu de naamvariabele in de functie print() gebruiken en deze aan een bericht toevoegen met het teken "+":
print("Aangenaam kennis te maken, " + naam)
Laten we blijven oefenen met het verkrijgen van gebruikersinvoer, het opslaan in variabelen en het afdrukken van de gegevens om een gesprek tussen u en uw computer te simuleren.
city = input("In welke stad woon je? ")
print("Ik heb gehoord van " + stad + ". Wat vind je van " + stad + ",” + naam + "?")
Het aanroepen van de input()-functie op zichzelf wacht nog steeds op gebruikersinvoer, maar doet dit zonder een bericht af te drukken.
antwoord = invoer()
Omdat computers ons bieden, zal ik ervoor zorgen dat de computer akkoord gaat. Je kunt het oneens zijn als je wilt. Dat is het mooie van programmeren, het is aan jou.
print("Ik ben het met je eens. " + antwoord)
Het is oké als je op enig moment een fout ziet in de Python-shell. Uw gegevens blijven in uw variabelen opgeslagen zolang u de sessie niet sluit.
De interactieve shell is perfect om commando's te testen en te zien wat werkt. Maar het slaat uw programma niet op, zodat u het later kunt uitvoeren. Je sessie kan worden opgeslagen, maar Python slaat ook de prompts, fouten en al het andere op dat je in het shell-venster ziet. Deze zullen allemaal fouten veroorzaken als je Python het later als een programma probeert te laten uitvoeren.
Om te experimenteren (en als klassikale oefening), voegt u nog twee regels toe aan dit programma om het gesprek tussen u en uw computer voort te zetten. Maak een variabele en druk een statement af met uw nieuwe variabele. Maak een screenshot of bewaar wat je hebt gedaan in de shell ter referentie. Je zult het in de volgende stap gebruiken.
Stap 4: IDLE: Script
In tegenstelling tot de shell wordt een editor gebruikt, zodat u uw Python-programma's kunt opslaan en bewerken. Hoewel er verschillende editors zijn die u kunt gebruiken, wordt er bij IDLE één geleverd, dus laten we daarmee beginnen.
Maak een nieuw bestand in IDLE door op Ctrl + N te drukken of ga naar Bestand > Nieuw.
Merk op dat het venster dat u ziet niet de prompt ">>>" heeft. U bent nu in de editor en klaar om een Python-programma te schrijven, op te slaan en uit te voeren. Schrijf het programma op dat je in de shell hebt gemaakt, inclusief de twee nieuwe regels die je in de laatste sectie hebt bedacht. Als voorbeeld, hier is mijn laatste script:
name = input("Hallo, wat is uw naam?")
print("Aangenaam kennis te maken, " + naam) city = input("In welke stad woon je? ") print("Ik heb gehoord van " + stad + ". Wat vind je van " + stad + ",” + naam + "? ") answer = input() print("Ik ben het met je eens, " + antwoord) favSpot = input("Wat is je favoriete plek? ") print("Nooit geweest, maar ik zou graag ga eens naar " + favSpot)
Sla het op als city.py. De standaardlocatie is uw thuismap.
Stap 5: Een Python-programma uitvoeren
Uw programma is opgeslagen en klaar voor gebruik. Er zijn een aantal verschillende manieren om een Python-programma op de Raspberry Pi uit te voeren. Laten we er twee bespreken. Kies er een om uw programma uit te voeren en maak een screenshot nadat u uw gesprek hebt beëindigd.
1) Uitvoeren vanuit IDLE
Druk op F5 of ga naar de werkbalk en klik op Uitvoeren > Module uitvoeren. Python zal de resultaten in het shell-venster afdrukken. Om het programma te stoppen, drukt u op Ctrl+F6 of gaat u naar Shell > Shell opnieuw starten.
2) Uitvoeren vanuit Linux Shell
Programma's die op de Raspberry Pi zijn opgeslagen, kunnen ook vanuit de krachtige Linux-shell worden uitgevoerd. Om een Python-programma vanaf de opdrachtregel uit te voeren, moet uw programma zich in de huidige werkdirectory bevinden. LXTerminal start je in de thuismap van pi waar python automatisch opslaat, dus je zou al in de map met je bestand moeten zijn. Typ om te controleren:
ls
Je zou je opgeslagen city.py-programma moeten zien verschijnen.
Om een Python-programma in opdrachtregelstijl uit te voeren, typt u python3 plus de naam van uw script:
python3 city.py
Voor een script geschreven in Python 2 zou je python gebruiken in plaats van python3:
python naamOfScript.py
De eerste regel van het programma wordt uitgevoerd en wacht tot u uw naam typt. Het zal van boven naar beneden doorgaan totdat het bij de laatste print()-functie komt.
Een Python-programma stoppen
Druk op Ctrl + Z om een actief Python-programma in de opdrachtregel te stoppen.
Stap 6: Python + Linux Shell
Hoewel Python de hoofdtaal is die je gebruikt om de Raspberry Pi te programmeren, wil je soms een opdrachtregelprogramma of -toepassing gebruiken om iets voor elkaar te krijgen. U kunt de opdrachtregel en Python combineren om uw favoriete opdrachten te gebruiken met behulp van een module met de naam os.
Een module is een verzameling vooraf geschreven code die u kunt gebruiken om functionaliteit aan uw programma's toe te voegen. Het gebruik van een module kan je ook de moeite besparen om uit te zoeken hoe je behoorlijk complexe dingen kunt schrijven. Stel bijvoorbeeld dat je planeten wilt volgen en hun banen wilt bestuderen met je Raspberry Pi. In plaats van de complexe wiskunde achter het bepalen van de positie van de zon uit te zoeken, kun je een module* gebruiken die dat al heeft uitgevogeld.
Om os te gebruiken, moet u het eerst importeren. Ga je gang en volg mee in de Python-shell:
importeer os
Laad een opdracht die u in de Linux-shell wilt uitvoeren in een variabele. Hier gebruiken we de opdrachtregel-videospelertoepassing omxplayer om een testvideo af te spelen die bij Raspbian wordt geleverd:
playVideo = "omxplayer /opt/vc/src/hello_pi/hello_video/test.h264"
Gebruik os.system() om de opdracht naar de Linux-shell te sturen:
os.system(playVideo)
* Er is echt een Python-module die planeten kan volgen, hij heet PyEphem.
Stap 7: Maak een foto en speel audio af met Python
Picamera
Tot nu toe heb je Raspistill gebruikt, een opdrachtregelprogramma om een serie foto's mee te maken. Er is een Python-module beschikbaar met de naam Picamera die u in plaats daarvan kunt gebruiken en die ook meer functies heeft die handig zijn bij het bouwen van uw uiteindelijke fotohokje-programma. De onderstaande stappen kunnen uw scherm beslaan, dus houd er rekening mee dat u Ctrl + F6 typt om het proces te stoppen.
Open de Python-shell en typ de volgende regels:
importeer picamera
camera = picamera. PiCamera()
cameraresolutie = (640, 480)
camera.start_preview()
Gebruik de live preview om te helpen bij het positioneren van uw camera om een foto van uzelf of uw bureau te maken. Het cameravoorbeeld kan het grootste deel van uw scherm in beslag nemen. Herhaal de eerste drie opdrachten en ga dan verder met het vastleggen en opslaan van een afbeelding:
camera.capture('testImage.jpg')
Probeer de helderheid van de camera te wijzigen met behulp van het helderheidskenmerk. Het kan worden ingesteld op elk getal tussen 0 en 100 en de standaard is 50. Probeer het op een ander getal in te stellen en maak vervolgens een nieuwe foto om de eerste te vervangen:
camera.helderheid = 60
camera.capture('testImage.jpg')
Zorg ervoor dat u de tijd neemt om de Picamera-documentatie te bekijken.
OS-module gebruiken
Als u een opdrachtregeltoepassing zoals Raspistill wilt gebruiken, kunt u de os-module gebruiken. Typ Cmd + F6 om het lopende proces af te sluiten en de camera los te laten van Picamera. Typ vervolgens de volgende opdrachten:
importeer os
takePhoto = "raspistill -o testImage.jpg"
os.system(takePhoto)
Pygame.mixer
Een eenvoudige en robuuste manier om geluidsbestanden af te spelen is door Pygame te gebruiken. Pygame is een set Python-modules die wordt geleverd met Raspbian, dus het is niet nodig om het te installeren.
Pygame is populair en leuk, dus er is veel ondersteuning en ontwikkeling omheen. Bekijk zeker de website voor voorbeelden en documentatie. Behalve dat het wordt gebruikt om games te maken, is het een gemakkelijke manier om geluiden af te spelen, afbeeldingen weer te geven en meer. Gebruik het Sound-object in de pygame.mixer-module om geluiden af te spelen.
Open de Python 3-interpreter en typ de volgende regels:
importeer pygame.mixer
van pygame.mixer import geluid
pygame.mixer.init()
bas = Geluid('bass3.wav')
bas.play()
Stap 8: Python buiten IDLE gebruiken
Desktop EditorsIDLE is een geweldige manier om Python-programma's te schrijven, maar je hoeft het niet te gebruiken. Je kunt een Python-programma maken met elke teksteditor, zolang het maar is opgeslagen met.py aan het einde. IDLE is een voorbeeld van een grafische teksteditor op het bureaublad. Een andere die bij Raspbian wordt geleverd, heet Leafpad. Je vindt Leafpad onder Accessoires in het startmenu.
Opdrachtregel-editor
Je hebt al kennis gemaakt met Nano, de teksteditor voor de opdrachtregel. Net als een grafische editor kun je nano gebruiken om een script te maken. Sla na het openen van Nano het nieuwe bestand op met het achtervoegsel.py. Als u het eerst als een python-bestand opslaat, zorgt u ervoor dat de editor python-syntaxisaccentuering biedt terwijl u typt.
Zonder syntaxisaccentuering voordat de bestandsnaam wordt opgeslagen met het achtervoegsel.py.
Met syntaxisaccentuering.
Python-interpreter vanaf de opdrachtregel
IDLE is niet de enige plek waar u de interactieve Python-interpreter kunt gebruiken. Het kan ook worden aangeroepen vanuit de Linux-shell! Typ eenvoudig:
python3
Of voor de Python 2-interpreter:
Python
Om de tolk af te sluiten, drukt u op Ctrl + D of typt u:
ontslag nemen()
Stap 9: Screenshot van programma
Pronk met je Python-programmeerkrachten! Upload een screenshot nadat je laatste city.py-programma klaar is met draaien en vertel ons of je het vanuit IDLE of de Linux-shell hebt uitgevoerd.
Aanbevolen:
Inleiding tot IR-circuits: 8 stappen (met afbeeldingen)
Inleiding tot IR-circuits: IR is een complex stukje technologie en toch heel eenvoudig om mee te werken. In tegenstelling tot LED's of LASER's kan infrarood niet met het menselijk oog worden gezien. In deze Instructable zal ik het gebruik van infrarood demonstreren via 3 verschillende circuits. De circuits zullen niet
Inleiding tot Arduino: 18 stappen
Inleiding tot Arduino: Heb je je ooit afgevraagd om je eigen apparaten te maken, zoals een weerstation, autodashboard voor het bewaken van brandstof, snelheid en locatietracking of het besturen van je huishoudelijke apparaten die worden bestuurd door smartphones of heb je je ooit afgevraagd over het maken van geavanceerde r
Een inleiding tot GarageBand: 9 stappen
Een inleiding tot GarageBand: GarageBand is een platform waarop je muziek kunt maken. Je kunt vrijwel alles op dit platform doen, of het nu gaat om het maken van je droommuziek of het repliceren van een muziekstuk dat je leuk vindt. Maar het is hoe dan ook niet gemakkelijk. Daarom ben ik hier
Inleiding tot Visuino - Visuino voor beginners: 6 stappen
Inleiding tot Visuino | Visuino voor beginners.: In dit artikel wil ik het hebben over Visuino, een andere grafische programmeersoftware voor Arduino en soortgelijke microcontrollers. Als je een elektronische hobbyist bent die in de wereld van Arduino wil stappen, maar geen voorafgaande programmeerkennis heeft
Inleiding tot IOTSPT.com: 7 stappen
Intro tot IOTSPT.com: IOTSPT.com is een IoT-netwerk. Dat is gebruik voor het verbinden van hardware met internet. Dit is speciaal ontworpen voor ESP8266-modules. Ontwikkelaars hebben ook API's gemaakt voor ontwikkelaars om hardware te integreren met andere software. Het team van IOTSPT heeft