Grattis

Introduktion till objektorienterad programmering i Python

George Boorman

Curriculum Manager, DataCamp

Klasser och objekt

Term Definition
Klass En ritning/mall för att skapa objekt
Objekt En kombination av data och funktionalitet; En instans av en klass
Introduktion till objektorienterad programmering i Python

Attribut och metoder

Term Definition
Klass En ritning/mall för att skapa objekt
Objekt En kombination av data och funktionalitet; En instans av en klass
Tillstånd Data kopplad till ett objekt, tilldelad via attribut
Beteende Ett objekts funktionalitet, definierad via metoder
Introduktion till objektorienterad programmering i Python

Grundläggande koncept

Inkapsling:

  • Sammanslagning av data och metoder

Arv:

  • Utökar funktionaliteten i befintlig kod

Polymorfism:

  • Skapar ett enhetligt gränssnitt
Introduktion till objektorienterad programmering i Python

Jämförelser

Operator Metod
== __eq__()
!= __ne__()
>= __ge__()
<= __le__()
> __gt__()
< __lt__()
Introduktion till objektorienterad programmering i Python

Strängrepresentation

__str__()

  • print(obj), str(obj)
print([1,2,3])
[1 2 3]
str([1,2,3])
'[1, 2, 3]' 
  • informell, för slutanvändaren
  • sträng-representation

__repr__()

  • repr(obj), utskrift i konsolen
repr([1,2,3])
[1,2,3]
[1,2,3]
[1,2,3]
  • formell, för utvecklaren
  • reproducerbar representation
  • reservlösning för print()
Introduktion till objektorienterad programmering i Python

Felhantering

class BalanceError(Exception): 
    pass

class Customer: def __init__(self, name, balance): if balance < 0 : raise BalanceError("Balance has to be non-negative!") else: self.name, self.balance = name, balance
# Use try-except to catch errors try: cust = Customer("Larry Torres", -100) except BalanceError: cust = Customer("Larry Torres", 0)
Introduktion till objektorienterad programmering i Python

Vad händer härnäst?

  • Multipelt arv
  • Deskriptorer
  • Anpassade attribut
  • Anpassade iteratorer
  • Typledtrådar
  • Abstrakta basklasser
Introduktion till objektorienterad programmering i Python

Nu kör vi en övning!

Introduktion till objektorienterad programmering i Python

Preparing Video For Download...