Göm meny
Gäller för: VT21

Lektion 6

Övningar inför laboration 6.

Övning 1: Definiera klass

Skriv in nedanstående klassdefinition för klassen Contact i en fil.

class Contact(object):

    def __init__(self, first_name, last_name):
        self.first_name = first_name
        self.last_name = last_name

Lägg till metoden __str__() till klassen Contact så att en instans som skapats med c1 = Contact("Ada", "Lovelace") vid konverting till en sträng blir "Lovelace, Ada". Dvs att om man använder print(c1) så skrivs Lovelace, Ada ut.

Övning 2: Klassen ContactList agerar behållare, sköter logistik för nya Contact-objekt

  • Lägg till klassen ContactList som har instansvariabeln contacts som börjar som en tom lista.
  • Klassen ContactList ska ha en metoden create_and_add_contact(first_name, last_name), som tar emot för och efternamn på en person, skapar en instans av klassen Contact med det för- och efternamnet och sedan lägger till den instansen till den egna klassens instansvariabel contacts.

Övning 3: Utskrift av alla kontakter

  • Lägg till metoden __str__() till klassen ContactList som ska returnera en sträng med alla namnen på kontakterna i listan åtskiljda av ett radbryt. Se till att du använder metoden Contact.__str__() på rätt sätt, dvs via konvertering av Contact-objekt till strängar, inte explicit anrop av __str__()

Exempel:

contactlist = ContactList()
contactlist.create_and_add_contact("Ada", "Lovelace")
contactlist.create_and_add_contact("Alan", "Turing")
contactlist.create_and_add_contact("Grace", "Hopper")
print(contactlist)

ska alltså skriva ut

Lovelace, Ada
Turing, Alan
Hopper, Grace

Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2021-01-18