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 instansvariabelncontacts
som börjar som en tom lista. - Klassen
ContactList
ska ha en metodencreate_and_add_contact(first_name, last_name)
, som tar emot för och efternamn på en person, skapar en instans av klassenContact
med det för- och efternamnet och sedan lägger till den instansen till den egna klassens instansvariabelcontacts
.
Övning 3: Utskrift av alla kontakter
- Lägg till metoden
__str__()
till klassenContactList
som ska returnera en sträng med alla namnen på kontakterna i listan åtskiljda av ett radbryt. Se till att du använder metodenContact.__str__()
på rätt sätt, dvs via konvertering avContact
-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