Tekst og strenge

Denne guide handler om det mest basale i alle programmeringssprog, nemlig hvad data er og hvordan man behandler dem.

Et simpelt program

Lad os lave et simpelt program der udskriver tekstrengen: "Hej". Indtast nedestående og tryk på F5

>>>print ("Hej")
Hej

Programmet er opbygget af funktionen print(), som laver et output af det som står i parentesen. I dette tilfælde af tekststrengen Hej. Som du kan se i programmet omgiver vi tekststrengen Hej med anførselstegn (""). Det er nødvendigt, fordi Python skal vide om vi indsætter en værdi eller en tekststreng. Vi fortæller altså Python om det er en værdi ved enten at sætte udråbstegn omkring eller at udelade dem.

>>>print ("Hej")
Hej
>>>print (4)
4

Kommentarer

Man kan indsætte kommentarer i sit program, som man kan bruge til at beskrive hvad en kode gør eller blot lave et overblik.

Kommentarer laves ved at skrive # (hashtag), og så skrive selve kommentaren bagefter. Se nedestående program

# Mit første program

print("hej") # udskriver hej

Kommentarerne er til den der læser koden, og det er en god ide at lave kommentarer i sin kode, når den bliver mere omfattende.

Brug kommentarer til at skrive ind hvad koden gør, og hvad den skal kunne.

Indledende kommentar

Hvis du i starten af din kode vil have en længere kommantar/tekst kan de laves ved at pakke den ind i trippel anførsels- eller citationstegn:

"""

Formål: Test af forskellige funktioner.
Dette program er lavet af: Thomas Jensen
Dato: DD.MM.ÅÅÅÅ

"""

print("mit første program")

Væn dig til at lave kommentarer i din kode.

Her i starten kan det virke ligegyldigt fordi koden er rimelig overskuelig, men senere hen (også i dette materiale) vil du have stor hjælp af dine egne kommentarer.

Kommentarer hjælper dig også hvis du bliver forstyrret og bliver nød til at lave noget andet i et stykke tid. Når du så vender tilbage til din kode, så kan kommentarerne hjælpe dig ind i de tanker du gjorde dig om opgaven.

Undgå fejl

Når du anvender Pythonshell kan du ikke starte koden, hvis der er fejl i den. Så vil cursoren bare rykke en linie ned når du trykker Enter.

Hvis det sker skal du tjekke om du har afsluttet dine tegn. Det gælder for:

  • Anførselstegn og apostroffer - " '
  • paranteser og brackets - (), {}. []
  • Indrykninger

Tekststrenge

Tekststrenge skal skrives imellem 2 anførselstegn eller apostroffer

	>>> print ("med anførselstegn")
med anførselstegn
>>> print ('med apostroffer')
med apostroffer

Formatering af tekst

I python er der 2 muligheder for at formatere teksten:

  1. Trippel anførselstegn (""") eller trippel apostroffer (''')
  2. Escape sequences

Trippel anførselstegn/apostroffer

Bruger du trippel anførselstegn eller apostroffer, vil teksten blive vist som du har tastet den ind med mellemrum og linieskift

print ("""Dette er en sætning
med linie skift          og stort mellemrum""")
Dette er en sætning
  med linie skift          og stort mellemrum

Det kan anbefales hvis du vil lave længere tekststykker eller en speciel udskrift:

>>> print('''
***********************
* Eksempel på et pænt *
* skilt i starten af  *
* min kode            *
***********************
''')

  ***********************
  * Eksempel på et pænt *
  * skilt i starten af  *
  * min kode            *
  ***********************

Escape sequences

Du kan også gøre det ved at indsætte linieskift og tabulatorer i teksten:

\n
Indsætter et linieskift
\t
Indsætter en tabulator.

Der er 8 tegn mellem hvert tabulatorspring
>>> print("Python er let\n\n\tThomas")
Python er let

        Thomas

Læg mærke til at der ikke er noget mellemrum mellem \t og Thomas

Når du laver kode gælder det om at gøre koden så let læselig som muligt for alle.

Metoden med escape characters fungerer bedst til korte sætninger og metoden med trippel citations- og anførselstegn fungerer bedst ved længere tekststykker.

", ' og \ i tekst

Hvis du skal anvende en af de 3 tegn i din tekst, så skal vi også bruge escape characters. Det skal vi fordi det er tegn der bruges i selve koden. Vi skal altså ændre programmeringstegnet til et teksttegn.

Tegnene " og ' skal du kun ændre hvis du bar brugt tegnet til at pakke printsætningen ind. Se følgende 2 eksempler:

Eksempel 1 - ": sætningen: Det var en "skør" ide, men det virkede som det skulle.:

>>> print("Det var en \"skør\" ide, men det virkede som det skulle.")
Det var en "skør" ide, men det virkede som det skulle.

Du skal ændre ", fordi print ellers vil tro at din sætning er færdig lige før skør.

Alternativt kan du pakke sætningen ind i anførselstegn:

>>> print('Det var en \"skør\" ide, men det virkede som det skulle.')
Det var en "skør" ide, men det virkede som det skulle.

Eksempel 2 - ': sætningen: Python isn't har to learn

>>> print('Python isn\'t hard to learn')
Python isn't hard to learn

Her kan du også ændre indpakningen til citationstegn, hvis du ikke vil escape anførselstegnet

>>> print("Python isn't hard to learn")
Python isn't hard to learn

Læg mærke til det script (https://highlightjs.org/) jeg bruger til vise kode med, ikke kan skelne mellem escaped characters og kode tegn.

Selvom scriptet tolker output forkert, så er det korrekt kode :)

Hvis du skal bruge \ - backslash skal den også escapes.:

Eksempel 3 - \ : Sætning: Husk at bruge \ når du skal escape kodetegn i tekst.

>>> print("Husk at bruge \\ når du skal escape kodetegn i tekst.")
Husk at bruge \ når du skal escape kodetegn i tekst.

Unicode tegn

Hvis du har brug for specialtegn kan du anvende Unicode. Du kan finde en oversigt her:

Overblik over unicode tegn: https://unicode-table.com/en/

Python kan vise de tegn der hedder noget med u+****.

Eksempel 1 - → (u+2192)

>>> print("\u2192")
→

Hvis tegnet hedder noget med u+1****, så skal der indsættes 3 nuller foran 1-tallet f.eks: U+1F608 bliver til \U0001f608

Eksempel 2 - 😈

>>> print("\U0001F608")
😈

Det er ikke alle emoticons der starter med U+1 der virker!