Skriv en klass från grunden
Du är en Python-utvecklare som skapar ett visualiseringspaket. För varje element i en visualisering vill du kunna ange elementets position, hur långt det är från andra element, samt enkelt spegla det horisontellt eller vertikalt.
Det mest grundläggande elementet i en visualisering är en enskild punkt. I den här övningen skriver du en klass för en punkt i ett plan från grunden.
Den här övningen är en del av kursen
Objektorienterad programmering i Python
Övningsinstruktioner
Definiera klassen Point med följande:
- Två attribut,
xochy– koordinaterna för punkten i planet; - En konstruktor som tar emot två argument,
xochy, och initierar motsvarande attribut. Dessa argument ska ha standardvärdet0.0; - En metod
distance_to_origin()som returnerar avståndet från punkten till origo. Formeln för detta är \(\sqrt{x^2 + y^2}\). - En metod
reflect()som speglar punkten med avseende på x- eller y-axeln:- tar emot ett argument
axis, - om
axis="x"sätter den attributety(inte ett stavfel!) till det negativa värdet av attributety, - om
axis="y"sätter den attributetxtill det negativa värdet av attributetx, - för alla andra värden på
axisskrivs ett felmeddelande ut.
- tar emot ett argument
Obs! Du kan använda funktionen sqrt() från antingen paketet numpy eller math, men oavsett vilket du väljer, glöm inte att importera det innan du börjar klassens definition!
Kontrollera ditt arbete genom att köra följande kod utan fel:
pt = Point(x=3.0)
pt.reflect("y")
print((pt.x, pt.y))
pt.y = 4.0
print(pt.distance_to_origin())
som ska ge utdata
(-3.0,0.0)
5.0
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Write the class Point as outlined in the instructions