Hoe te werken met de Python-interactieve console

Introductie

De Python interactieve console (ook wel de Python-interpreter of Python-shell genoemd) biedt programmeurs een snelle manier om commando’s uit te voeren en code uit te proberen of te testen zonder een bestand aan te maken.

Met toegang tot alle ingebouwde functies van Python en alle geïnstalleerde modules, commandogeschiedenis en automatische aanvulling, biedt de interactieve console de mogelijkheid om Python te verkennen en de mogelijkheid om code in programmeerbestanden te plakken wanneer je er klaar voor bent.

In deze tutorial gaan we bekijken hoe je kunt werken met de Python interactieve console en hoe je deze kunt gebruiken als een programmeertool.

Vereisten

Je moet Python 3 geïnstalleerd hebben en een programmeeromgeving op je computer of server hebben ingesteld. Als je geen programmeeromgeving hebt ingesteld, kun je de installatie- en instelhandleidingen raadplegen voor een lokale programmeeromgeving of voor een programmeeromgeving op je server die geschikt is voor je besturingssysteem (Ubuntu, CentOS, Debian, enzovoort).

Het betreden van de Interactieve Console

De interactieve Python-console kan worden geopend vanaf elke lokale computer of server waarop Python is geïnstalleerd.

Het commando dat je gebruikt om naar de interactieve Python-console van je standaardversie van Python te gaan, is:

  1. python3

Als je een lokale virtuele Python-omgeving gebruikt, ga je naar de standaardversie van Python met:

  1. python

Als je een programmeeromgeving hebt opgezet volgens de vereisten, kun je de versie van Python en modules die je in die omgeving hebt geïnstalleerd starten en openen door er eerst in te gaan met het volgende commando:

  1. cd environments
  2. . my_env/bin/activate

Vervolgens typ je het python-commando:

  1. python

In dit geval is de standaardversie van Python Python 3.8.10, die wordt weergegeven in de output zodra we het commando invoeren, samen met de relevante auteursrechtelijke kennisgeving en enkele commando’s die je kunt typen voor extra informatie:

Output
Python 3.8.10 (default, Jun 2 2021, 10:49:15) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

De primaire prompt voor het volgende commando bestaat uit drie grotere-dan-tekens (>>>):

Je kunt specifieke versies van Python targeten door het versienummer toe te voegen aan je commando, zonder spaties:

Opmerking: Vanaf januari 2020 is Python 2 stopgezet en worden er geen verbeteringen meer aangebracht. Voor meer informatie kun je verwijzen naar [Sunsetting Python 2] (https://www.python.org/doc/sunset-python-2/)

  1. python2.7
Output
Python 2.7.18 (default, Mar 8 2021, 13:02:45) [GCC 9.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>

Hier hebben we de uitvoer ontvangen dat Python 2.7.18 zal worden gebruikt. Als dit onze standaardversie van Python 2 is, hadden we ook in deze interactieve console kunnen gaan met het commando python2.

Als alternatief kunnen we de standaardversie van Python 3 aanroepen met het volgende commando:

  1. python3
Output
Python 3.8.10 (default, Jun 2 2021, 10:49:15) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

We hadden ook de bovenstaande interactieve console kunnen aanroepen met het commando python3.8.

Met de Python interactieve console actief, kunnen we doorgaan met werken in de shell-omgeving voor Python.

Werken met de Python Interactieve Console

De Python interactieve interpreter accepteert Python-syntax, die je plaatst na de prefix >>>.

We kunnen bijvoorbeeld waarden toewijzen aan variabelen:

  1. birth_year = 1868

Zodra we de gehele waarde van 1868 toewijzen aan de variabele geboortejaar, zullen we op enter drukken en een nieuwe regel ontvangen met de drie grotere-than tekens als prefix:

  1. birth_year = 1868

We kunnen doorgaan met variabelen toewijzen en vervolgens wiskundige bewerkingen uitvoeren met operatoren om berekeningen terug te krijgen:

>>> birth_year = 1868
>>> death_year = 1921
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>> 

Zoals we zouden doen met een script in een bestand, hebben we variabelen toegewezen, één variabele van de andere afgetrokken, en de console gevraagd om de variabele af te drukken die het verschil vertegenwoordigt.

Net als bij elke vorm van Python, kun je ook de interactieve console gebruiken als rekenmachine:

>>> 203 / 20
10.15
>>> 

Hier hebben we het gehele getal 203 gedeeld door 20 en kregen we het quotiënt van 10.15.

Meerdere regels

Wanneer we Python-code schrijven die meerdere regels zal beslaan, zal de interpreter het secundaire prompt gebruiken voor voortzettingsregels, drie punten (...).

Om uit deze voortzettingsregels te komen, moet je twee keer op ENTER drukken.

We kunnen zien hoe dit eruitziet in de volgende code die twee variabelen toewijst en vervolgens een voorwaardelijke verklaring gebruikt om te bepalen wat er naar de console moet worden afgedrukt:

>>> sammy = 'Sammy'
>>> shark = 'Shark'
>>> if len(sammy) > len(shark):
...     print('Sammy codes in Java.')
... else:
...     print('Sammy codes in Python.')
... 
Sammy codes in Python.
>>> 

In dit geval zijn de lengtes van de twee strings gelijk, dus de else-verklaring wordt afgedrukt.
Let op dat je de Python inspringingsconventie van vier spaties moet aanhouden, anders krijg je een fout:

>>> if len(sammy) > len(shark):
... print('Sammy codes in Java.')
  File "<stdin>", line 2
    print('Sammy codes in Java.')
        ^
IndentationError: expected an indented block
>>> 

Je kunt niet alleen experimenteren met code over meerdere regels in de Python-console, je kunt ook modules importeren.

Modules importeren

De Python-interpreter biedt je een snelle manier om te controleren of modules beschikbaar zijn in een specifieke programmeeromgeving. Dit kun je doen door de import-verklaring te gebruiken:

>>> import matplotlib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'matplotlib'

In het bovenstaande geval was de module matplotlib niet beschikbaar binnen de huidige programmeeromgeving.

Om het te installeren, moeten we de interactieve interpreter verlaten en het installeren met pip zoals gewoonlijk:

  1. pip install matplotlib
Output
Collecting matplotlib Downloading matplotlib-3.4.3-cp38-cp38-manylinux1_x86_64.whl (10.3 MB) ... Installing collected packages: numpy, python-dateutil, kiwisolver, pillow, pyparsing, cycler, matplotlib Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.3 numpy-1.21.2 pillow-8.3.1 pyparsing-2.4.7 python-dateutil-2.8.2

Zodra de matplotlib-module samen met de bijbehorende afhankelijkheden succesvol zijn geïnstalleerd, kun je terugkeren naar de interactieve interpreter:

  1. python
  1. import matplotlib

Op dit punt ontvang je geen foutmelding en kun je de geïnstalleerde module gebruiken, zowel binnen de shell als binnen een bestand.

De Python-interactieve console verlaten

Er zijn twee hoofdmanieren om de Python-interactieve console te verlaten, ofwel met een sneltoets of met een Python-functie.

De toetsenbord sneltoets CTRL + D in *nix-gebaseerde systemen of CTRL + Z en vervolgens de CTRL-toets in Windows-systemen zal uw console onderbreken en u terugbrengen naar uw oorspronkelijke terminalomgeving:

...
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>> 
sammy@ubuntu:~/environments$ 

Als alternatief zal de Python-functie quit() de interactieve console afsluiten en u ook terugbrengen naar de oorspronkelijke terminalomgeving waarin u eerder was:

>>> octopus = 'Ollie'
>>> quit()
sammy@PythonUbuntu:~/environments$ 

Wanneer u de functie quit() gebruikt, zal deze worden weergegeven in uw geschiedenisbestand, maar de toetsenbordsneltoets CTRL + D zal niet worden opgenomen:

File: /home/sammy/.python_history
...
age_at_death = death_year - birth_year
print(age_at_death)
octopus = 'Ollie'
quit()

Het afsluiten van de Python-interpreter kan op beide manieren worden gedaan, afhankelijk van wat logisch is voor uw workflow en uw geschiedenisbehoeften.

Toegang tot Geschiedenis

Een van de handige dingen aan de Python interactieve console is dat al uw opdrachten worden gelogd in het bestand .python_history in *nix-gebaseerde systemen, dat u kunt bekijken in een teksteditor zoals nano, bijvoorbeeld:

  1. nano ~/.python_history

Zodra geopend met een teksteditor, zal uw Python-geschiedenisbestand er ongeveer zo uitzien, met uw eigen Python-opdrachtgeschiedenis:

File: /home/sammy/.python_history
import pygame
quit()
if 10 > 5:
    print("hello, world")
else:
    print("nope")
sammy = 'Sammy'
shark = 'Shark'
...

Zodra u klaar bent met uw bestand, kunt u op CTRL + X drukken om nano te verlaten.

Door al uw Python-geschiedenis bij te houden, kunt u teruggaan naar eerdere opdrachten en experimenten, en die code kopiëren en plakken of aanpassen voor gebruik in Python-programmeerbestanden of in een Jupyter Notebook.

Conclusie

De interactieve Python-console biedt een ruimte om te experimenteren met Python-code. U kunt het gebruiken als een tool voor testen, logica uitwerken en meer.

Voor gebruik bij het debuggen van Python-programmeerbestanden kunt u de Python code-module gebruiken om een interactieve interpreter te openen binnen een bestand, waarover u kunt lezen in onze handleiding Hoe Python te debuggen met een interactieve console.

Source:
https://www.digitalocean.com/community/tutorials/how-to-work-with-the-python-interactive-console