Du blander attributt og metode
Handler om: Attributt (egenskap), Metode, Klassediagram (UML)
Et attributt er noe objektet *har* — en verdi, som `bil.fart`. En metode er noe objektet *gjør* — en handling du kaller, som `bil.kjør()`. I klassediagrammet har de hvert sitt felt: attributtene i midten, metodene nederst. Forvekslingen viser seg som `bil.fart()`, eller som en `def` plassert blant attributtene.
Eksempel
Du skriver `ball.x()` og får «TypeError: 'int' object is not callable», fordi `x` er en verdi, ikke en handling.
Slik tenker du riktig om det
Parentesene er testen: de betyr «gjør dette nå». Har navnet parenteser, er det en handling; står det bart, er det en verdi.
Slik ser det ut i kode
Slik gikk det galt
print(ball.x()) # x er en verdi — ikke kall den Slik fikser du det
print(ball.x) # attributt: les verdien
ball.flytt() # metode: utfør handlingen