FAQ: Svar på vanliga frågor
Felmeddelanden
-
När jag testar mitt program i Python v. 2.6.1, funkar det utan problem. Med den version som finns på skolans Windowsdator (v.3.1.) får jag följande felmeddelande:
File "test2.py", line 38
print x
^
SyntaxError: invalid syntax
Vad kan detta bero på?
I senaste versionen av Python kräver print-satserna parenterser, dvs man
måste skriva:
print(x)
-
Andra fall av felmeddelandet "invalid_syntax"
Om du inte ser felet direkt kan felet vara på raden innan.
- Har du glömt kolon(:) på raden innan om du använder if, while eller for?
- Har du tabbat in raderna efter kolon?
- Saknas ett citattecken, en parentes
() eller
en klammer [] på raden innan?
- Kolla tabbar, även kommentarer med tre
' -tecken måste
tabbas rätt! Matcha med det stycke ovan som ska ha samma intabbning.
- Python har rätt, det finns ett fel någonstans!
-
Jag har skrivit en klass och får felmeddelandet
"NameError: global name 'namn' is not defined"
Har du kommit ihåg att skriva self framför alla förekomster av dina attribut?
-
Felmeddelandet "TypeError: 'int' object is not callable"
eller "TypeError: 'str' object is not callable"
Om du har definierat en klass kan detta felmeddelande bero på att ett
attribut har samma namn som en metod. Byt namn på metoden!
-
Felmeddelandet "TypeError: cannot concatenate 'str'and int'objects"
Om du skriver ut både strängar och tal i samma print-sats ska du
konvertera talen till strängar så här:
print frukten + " kostar " + str(pris)
-
Felmeddelandet "TypeError: sort() takes no keyword arguments"
när du försöker sortera en lista med objekt.
Kör du en gammal version av Python? Sortering med "key" finns i Python 2.4 och senare.
-
Felmeddelandet "Already executing"
När du kör program från IDLE kan du avbryta en gammal körning
med Ctrl-C innan du kör programmet igen.
|