Start | print
 

print(*objects, sep=' ', end='\n', file=None, flush=False)



Print ger utskrifter till konsolen, det textfönster i vilket du ofta får feedback från python.

Utskrift till konsolen

print("hello world") print(55)

Skriv ut variabler


Notera att du automatiskt får en nyrad vid ovan utskrifter. För enkla situationer kan du också blanda text och variabler.
x = 10 y = 10 print("x=",x,"y=",y)

Textsträngar


Du kan förstås printa ut textsträngar i variabler.
x = "hejsan" print(x)

end samt sep


En viktig grej ha klart för sig är sep=' ', end='\n', dvs att detta är standardbeteende för print om du inte säger något annat.

end='\n' betyder att print skapar en nyrad efter utskriften. Det är därför utskriften hamnar på nästa rad när du använder print nästa gång.

Om du inte önskar en nyrad (vilket end='\n' ger) då måste du ange något annat eller ta bort nyrad.
print("Detta är en text", end="") print("Detta är en text", end="") print("Detta är en text", end="")
Nu hamnar inte texten längre på nästa rad då vi tagit bort nyradskoden. Vi kan byta ut end mot vad som helst.
print("Detta är en text", end=",") print("Detta är en text", end=",") print("Detta är en text", end=",")
Säg att du skriver ut många siffror efter varandra.
print(1, 2, 3, 4, 5, 5)
Anledningen till att vi får ett mellanrum mellan siffrorna här beror på att sep som standard är sep =' ', dvs ett tomt mellanrum. Vi kan byta ut detta mot något mer passande.
print(1, 2, 3, 4, 5, 5, sep =",") print(1, 2, 3, 4, 5, 5, sep ="----")
Så, end är som standard nyrad och skrivs ut när hela printsatsen ut utskriven, men vi kan ändra detta till vad som helst.

När vi skriver ut flera variabler efter varandra så kommer dessa skiljas åt med sep som är ett tomt mellanrum som standard, men även här kan vi ändra det till vad som helst.

Formatera utskriften

Ofta vill man skriva ut en snygg text utifrån lite variabler. Det finns flera olika sätt att formatera en textsträng.
temp = 22 stad = "Göteborg" print("I %s är det nu %d grader" % (stad, temp))
tal = 65432 print("%d på hexadecimal form = %x" % (tal, tal))
En dictionary skriv ut med formatering.
temp = [ { "temp": 23.4, "stad": "Göteborg" }, { "temp": 22.1, "stad": "Malmö" }, { "temp": 18.2, "stad": "Stockholm" } ] for t in temp: print("%10s %.1f" % (t["stad"], t["temp"])) print() for t in temp: print("%-10s %.2f" % (t["stad"], t["temp"]))
Skapa en reserverad plats för en heltalssiffra. Fyll på till vänster eller höger.
print("Lämna plats [%4d]" % (1)) print("Lämna plats [%4d]" % (23)) print("Lämna plats [%4d]" % (223)) print() print("Lämna plats [%-2d]" % (1)) print("Lämna plats [%-3d]" % (23)) print("Lämna plats [%-4d]" % (223))
Flyttal till vänster eller höger inom en viss rymd.
print("Lämna plats [%7.2f]" % (3.1415)) print("Lämna plats [%-7.2f]" % (3.1415))
Decimaltal till oktaltal.
print("[%7.3o]" % (300)) print("[%-7.3o]" % (300))
Skriv ut på scientific format.
print("[%15.3E]" % (450.651)) print("[%15.3e]" % (450.651)) print("[%15.3f]" % (450.651)) print("[%-15.3E]" % (450.651)) print("[%-15.3e]" % (450.651)) print("[%-15.3f]" % (450.651))

.format

stad = "Göteborg" temp = 22 print('I {} är det nu {} grader'.format(stad, temp))
Höger och vänsterjustera inom en reserverad mängd tecken. Använd < respektive > för att ange vilket håll det skall fylla från.
print('[{:>12}]'.format('Göteborg')); print('[{:<12}]'.format('Göteborg'));
Samma med siffror.
print('[{:>12}]'.format(3.1415926)); print('[{:<12}]'.format(3.1415926));
Fyll ut med någonting
print('[{:_>12}]'.format(3.1415926)); print('[{:_<12}]'.format(3.1415926));
Omvandla till binärt och skriv alltid ut med 8 bits.
print('{:0>8b}'.format(0)); print('{:0>8b}'.format(64)); print('{:0>8b}'.format(34));
Skriv något i mitten av en reserverad mängd tecken.
print('{:^16}'.format('mitten')) print('{:_^16}'.format('mitten')) print('{:-^16}'.format('mitten'))
Klipp ord om de är för långa.
print('{:.8}'.format('telekommunikationsradioapparat')) print('[{:10.5}]'.format('telekommunikationsradioapparat'))
Du kan såklart formatera nummer som vanligt.
print('{:d}'.format(77)) print('{:f}'.format(3.141592653589793)) print('{:.2f}'.format(3.141592653589793)) print('{:.14f}'.format(3.141592653589793))
Tecken på siffror, dvs ett + även om det är positivt.
print('{:+d}'.format(55)) print('{:+d}'.format(-55)) print('{:+f}'.format(55)) print('{:+f}'.format(-55))
Vi kan lämna en tom ruta för ett eventuell minustecken också. Dvs inget tecken om positivt.
print('{: d}'.format((+45))) print('{: d}'.format((-45)))
Vi kanske vill ha ett tecken, men vänsterjusterat.
print('{:=+8d}'.format(1230)) print('{:=+8d}'.format(-455))
Vi kan referera till elementen i en dictionary direkt.
temp = { "temp": 23.4, "stad": "Göteborg" } print('I {stad} är det {temp} grader'.format(**temp))
I stora texter kan det vara användbart referera med nyckelord.
print('I {stad} är det {temp} grader'.format(stad='Göteborg', temp=22))
Kom åt klass.
person = {'first': 'Jean-Luc', 'last': 'Picard'} print('{p[first]} {p[last]}'.format(p=person))
Kom åt klass.
class Elev(object): namn = 'Emma' favoritkurser = [ {'namn': 'matematik'}, {'namn': 'programmering'} ] print('{e.namn}: {e.favoritkurser[0][namn]}'.format(e=Elev()))
Formateringen kan påverkas dynamiskt.
print('{:{align}{width}}'.format('mitten', align='^', width='16')) print('{:{width}.{prec}f}'.format(3.1415926, width=5, prec=2))

Formatkoder

%d
integer decimal
%i
integer decimal
%o
oktal (bas 8)
%x
hexadecimal (bas 16)
%X
hexadecimal, VERSALER (bas 16)
%e
floating point exp form
%E
floating point exp form, VERSALER
%f
floating point decimal form
%F
floating point decimal form
%c
enstaka tecken
%r
Konverterar till sträng med repr()
%s
Konverterar till sträng med str()
%a
Konverterar till sträng med ascii()
22.346019744873 ms