2. Använda Pythons tolkprogram¶
2.1. Anropa tolken¶
Python-tolken är vanligtvis installerad som /usr/local/bin/python3.14
på de maskiner där den är tillgänglig; om du lägger till /usr/local/bin
i sökvägen för ditt Unix-skal kan du starta den genom att skriva kommandot:
python3.14
till skalet. [1] Eftersom valet av katalog där tolken bor är ett installationsalternativ, är andra platser möjliga; kolla med din lokala Python-guru eller systemadministratör. (T.ex. är /usr/local/python
en populär alternativ plats)
På Windows-maskiner där du har installerat Python från Microsoft Store, kommer kommandot python3.14
att vara tillgängligt. Om du har py.exe launcher installerat kan du använda kommandot py
. Se Pythons installationshanterare för andra sätt att starta Python.
Om du skriver ett tecken för slutet av filen (Control-D på Unix, Control-Z på Windows) vid den primära prompten avslutas tolken med utgångsstatus noll. Om det inte fungerar kan du avsluta tolken genom att skriva följande kommando: quit()
.
Tolkens funktioner för radredigering inkluderar interaktiv redigering, historikersättning och kodkomplettering på system som stöder biblioteket GNU Readline. Den kanske snabbaste kontrollen för att se om kommandoradsredigering stöds är att skriva Control-P till den första Python-prompten du får. Om det piper har du kommandoradsredigering; se Appendix Interaktiv inmatningsredigering och historikersättning för en introduktion till tangenterna. Om ingenting verkar hända, eller om ^P
ekas, är kommandoradsredigering inte tillgänglig; du kan bara använda backspace för att ta bort tecken från den aktuella raden.
Tolken fungerar ungefär som Unix-skalet: när den anropas med standardinmatning ansluten till en tty-enhet läser och utför den kommandon interaktivt; när den anropas med ett filnamnsargument eller med en fil som standardinmatning läser och utför den ett skript från den filen.
Ett annat sätt att starta tolken är python -c command [arg] ...
, som exekverar satsen/satserna i command, på samma sätt som skalets -c
. Eftersom Python-satser ofta innehåller mellanslag eller andra tecken som är speciella för skalet, är det oftast lämpligt att citera command i sin helhet.
Vissa Python-moduler är också användbara som skript. Dessa kan anropas med python -m module [arg] ...
, som exekverar källfilen för module som om du hade stavat ut hela namnet på kommandoraden.
När en skriptfil används är det ibland användbart att kunna köra skriptet och gå in i interaktivt läge efteråt. Detta kan göras genom att skicka -i
före skriptet.
Alla kommandoradsalternativ beskrivs i Kommandorad och miljö.
2.1.1. Överföring av argument¶
När tolken känner till skriptnamnet och de ytterligare argument som följer omvandlas de till en lista med strängar och tilldelas variabeln argv
i modulen sys
. Du kan komma åt den här listan genom att köra import sys
. Längden på listan är minst ett; när inget skript och inga argument anges är sys.argv[0]
en tom sträng. När skriptnamnet anges som '-'
(vilket betyder standardinmatning), sätts sys.argv[0]
till '-'
. När -c
kommando används, sätts sys.argv[0]
till '-c'
. När -m
module används, sätts sys.argv[0]
till det fullständiga namnet på den modul som finns. Alternativ som hittas efter -c
kommando eller -m
modul används inte av Python-tolkens alternativbehandling utan lämnas kvar i sys.argv
för kommandot eller modulen att hantera.
2.1.2. Interaktivt läge¶
When commands are read from a tty, the interpreter is said to be in interactive
mode. In this mode it prompts for the next command with the primary prompt,
usually three greater-than signs (>>>
); for continuation lines it prompts
with the secondary prompt, by default three dots (...
). The interpreter
prints a welcome message stating its version number and a copyright notice
before printing the first prompt:
$ python3.14
Python 3.14 (default, April 4 2024, 09:25:04)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Fortsättningsrader behövs när du skriver in en konstruktion med flera rader. Som ett exempel, ta en titt på detta if
-sats:
>>> the_world_is_flat = True
>>> if the_world_is_flat:
... print("Be careful not to fall off!")
...
Be careful not to fall off!
För mer information om interaktivt läge, se Interaktivt läge.
2.2. Tolken och dess omgivning¶
2.2.1. Kodning av källkod¶
Som standard behandlas Python-källfiler som kodade i UTF-8. I den kodningen kan tecken från de flesta språk i världen användas samtidigt i stränglitteraler, identifierare och kommentarer — även om standardbiblioteket endast använder ASCII-tecken för identifierare, en konvention som all portabel kod bör följa. För att kunna visa alla dessa tecken på rätt sätt måste din editor känna igen att filen är UTF-8 och använda ett typsnitt som stöder alla tecken i filen.
För att deklarera en annan kodning än standardkodningen måste en speciell kommentarrad läggas till som första rad i filen. Syntaxen är som följer:
# -*- coding: encoding -*-
där encoding är en av de giltiga codecs
som stöds av Python.
Om du t.ex. vill ange att Windows-1252-kodning ska användas ska den första raden i källkodsfilen vara:
# -*- coding: cp1252 -*-
Ett undantag från första raden-regeln är när källkoden börjar med en UNIX ”shebang”-rad. I så fall ska kodningsdeklarationen läggas till som andra rad i filen. Till exempel:
#!/usr/bin/env python3
# -*- coding: cp1252 -*-
Fotnoter