9 Tricks med Python REPL

9 Tricks med Python REPL

Naturligtvis är PiRaspberry Pi kommer från Python, ett av de mest populära programmeringsspråken i världen och särskilt populärt bland tinkerers och makers. I det här inlägget vill jag ge dig 9 knep och tips med Python REPL - men oroa dig inte om du inte är superbekant med Python eller REPL.

Detta inlägg riktar sig till både nybörjare och avancerade Python-programmerare.

Vad är REPL?

REPL, eller Read-Evaluate-Print Loop, är ett sätt att direkt interagera med Python-tolken. Det kallas REPL eftersom det läser, utvärderar och skriver ut indata och sedan loopar tillbaka till början så att du kan ange ett annat kommando.

Det ger ett gränssnitt via ett Python Shell för att mata in kod och omedelbart få en utdata. Detta gör det möjligt att kontrollera kod, felsöka i realtid och producera interaktiva tester. Vanligtvis vet du att du har att göra med en Python REPL när du ser dessa tre pilar:

>>>

Här kan du lägga in dina uppgifter.

Det är värt att nämna att

Termerna "Python Shell" och "Python Interpreter" används ibland synonymt, men det finns en liten skillnad mellan dem. Python Interpreter är det faktiska program eller den programvara som kör Python-koden. Python Shell är däremot det gränssnitt som låter dig interagera med tolken i realtid.

Förutom de vanliga Python- och Python3-shells använder många även IPython och bpython, som är kommandoradsprogram som erbjuder unika funktioner, t.ex. syntaxmarkering.

Python REPL

Du kan se att IPython och bpython är snyggare som standard (nedan kommer vi att se hur man gör standard REPL snyggare också).

Det är också värt att notera att IPythons REPL numrerar inmatningsrader "In [1]", "In [2]", etc.

Till skillnad från IPython behåller bpython >>>-layouten.

REPL kan också tillhandahålla funktioner som kommandohistorik, tabbkomplettering och möjlighet att komma åt tidigare definierade variabler och funktioner, vilket gör det till ett bekvämt verktyg för interaktiv Python-programmering och utforskning.

Detta gör REPL till ett ovärderligt verktyg för alla som vill leka med sin Raspberry Pi.

Nu när du vet vad REPL är kan vi utforska några knep för att använda det:

Trick 1: Hitta dokumentation

Du kan hitta dokumentationen för alla Python-objekt eller moduler direkt från REPL genom att använda help() funktion.

Skriv till exempel help(str) visar dokumentationen för strängobjektet. Du kan också lägga till ett specifikt metod- eller funktionsnamn för att få detaljerad information, t.ex.

 help(str.upper)

Om du skriver in detta får du följande resultat:

Python REPL hitta dokumentation

Trick 2: Använd tabbkomplettering

Beroende på vilket program du använder har Python REPL stöd för tabbkomplettering, vilket kan spara tid och förhindra stavfel. Om du trycker på tabbtangenten efter att ha skrivit in en del av ett namn eller objekt visas tillgängliga alternativ.

Om du till exempel skriver int. och tryck sedan på Tab, så visas en lista över metoder för att köra med heltal.

Komplettering av flikar i Python REPL

Trick 3: Skapa uttalanden med flera rader

Dessutom kommer REPL att tillåta dig att skriva flerradiga satser med hjälp av radfortsättning.

Om du vill dela upp ett uttalande i flera rader för att göra det lättare att läsa, kan du använda tecknet backslash (\) i slutet av varje rad för att fortsätta på nästa rad (se exempel 1 nedan).

Du kan också sätta satsen inom parentes så att den fortsätter på nästa rad (se exempel 2 nedan).

# example 1: using backslash for a multi-line statement

name = 'Fatima'
age = 46
country = 'Germany'

message = 'Hi, ' + \
          name + \
          '! You are ' + \
          str(age) + \
          ' years old and from ' + \
          country + '.'

print(message)

# the message will be 'Hi, Fatima! You are 46 years old and from Germany.'

# example 2: using parentheses for a multi-line statement

total = (1 + 2 + 3 +
         4 + 5 + 6 +
         7 + 8 + 9)

print("The total is:", total)

# the message will be 'The total is: 45'

Trick 4: Få tillgång till en kod som redan har skrivits

Du kan komma åt tidigare skriven kod i REPL med hjälp av piltangenterna upp och ned, precis som du skulle göra i terminalen.

Om du trycker på upp-pilen går du igenom kommandohistoriken så att du snabbt kan återkalla och ändra tidigare kommandon. Kolla in det själv!

Trick 5: Använd variabeln Underscore

Variabeln med understreck (_) innehåller resultatet av det senaste uttrycket som utvärderades i REPL.

Det kan vara praktiskt när du behöver återanvända resultatet i efterföljande operationer utan att behöva omvärdera hela uttrycket. Så om du behöver göra några snabba beräkningar eller om du vill hämta data supersnabbt - kan du bara skriva in understrecket som en standardvariabel för det tidigare resultatet.

Python REPL understruken variabel

Trick 6: Utför systemkommandon och magiska kommandon (IPython)

I IPython (förkortning för "Interactive Python") kan du utföra systemkommandon direkt genom att prefixa en kodrad med ett utropstecken (!).

Tillsammans med IPythons magiska kommandon, like %cd to change directory, you’re able to use the Python REPL for seamless integration!

Till exempel, !ls på Unix-baserade system eller !dir på Windows listar innehållet i den aktuella katalogen.

Python REPL magiska kommandon

Trick 7: Experimentera med import

I Python REPL kan du experimentera med importer utan att behöva skapa separata Python-filer. Med den här funktionen kan du importera moduler, prova deras funktioner och utforska deras innehåll interaktivt, vilket gör det bekvämt att snabbt experimentera och utforska olika moduler och deras kapacitet.

Så här kan du använda Python REPL för att experimentera med import:

>>> import math
>>> math.sqrt(16)
4.0

I det här exemplet använder vi sqrt() funktion från math modul för att beräkna kvadratroten av 16.

Genom att använda Python REPL för att experimentera med importer kan du snabbt testa och utforska funktionaliteten hos olika moduler utan att behöva skapa separata Python-filer.

Denna interaktiva och iterativa process gör att du kan få en bättre förståelse för hur olika moduler fungerar, prova olika funktioner och granska deras resultat i realtid.

Trick 8: Anpassa REPL-prompten

Gillar du inte >>> som din primära prompt och ... som din sekundära prompt?

Du har tur, för du kan anpassa den prompt som visas av Python REPL.

Genom att ändra sys.ps1 och sys.ps2 variabler kan du ändra den primära respektive sekundära prompten.

Kör bara:

import sys

sys.ps1 = 'primary'
sys.ps2 = 'secondary'

Nu kommer den primära uppmaningen att vara "primär" och den sekundära uppmaningen kommer att läsa "sekundär". Du kan ändra det till vad du vill! Prova med symboler eller emojis, till exempel!

Att göra det på det här sättet påverkar bara den aktuella REPL-sessionen. Om du vill göra saker och ting lite mer permanenta måste du hitta filen ".pyrc" och redigera anvisningarna där.

Kommer du ihåg mina tråkiga, fula prompters i mina REPL:er ovan? Nu byter vi färg.

Om du använder Linux kan du koppla in följande i din terminal:

tee ~/.pyrc <<E0F
import sys
sys.ps1='\x01\x1b[1;34;40m\x02>>>\x01\x1b[0m\x02'
sys.ps2='\x01\x1b[1;35;40m\x02...\x01\x1b[0m\x02'
E0F

Detta kommer att ändra färgen på den primära prompten till en blå på grå och den sekundära prompten till en lila på grå, om du letar efter det. Experimentera gärna med alla ANSI färgsekvenser för att hitta en färg på promptern som du är nöjd med.

När du har gjort det ska du se till att exportera detta:

export PYTHONSTARTUP=~/.pyrc

Nu bör dina uppmaningar se ut så här:

Python REPL anpassa prompt

Återigen, detta är bara tillfälligt. Om du vill ändra saker permanent måste du ändra konfigurationsfilen. Men det ger dig en försmak av hur kul det kan vara!

Trick 9: Utforska moduler och objekt

Om du vill komplettera med att hitta dokumentation och använda tab completion, så är det här tricket som gör paketet komplett!

Du kan utforska innehållet i en modul (eller ett objekt) med hjälp av dir() funktion.

Genom att skicka en modul eller ett objekt som argument returneras en lista med namn inom den modulen eller det objektet, så att du kan utforska dess tillgängliga attribut, metoder och funktioner.

Till exempel:

import math
print (dir(math))

Detta visar en lista över tillgängliga attribut, metoder och funktioner i matematikmodulen.

Python REPL utforska moduler och objekt

Det är knep som dessa som kan vara avgörande för att göra ditt arbetsflöde sömlöst.

När du har lärt dig dessa 9 knep kommer du att kunna använda REPL mer effektivt.

Detta kommer att göra felsökning och testning av din kod mycket smidigare.

Låt oss veta vilka REPL-tricks du har i kommentarerna nedan!

Lämna en kommentar