In [39]:
class Pies(object):
    rasa = '-'
    kolor = '-'
    nazwa = ''
    pojemnosc = 100 # kg
    rzeczy = []
    def __init__(self, nazwa):
        self.nazwa = nazwa
        self.rzeczy = []
    def szczekaj(self):
        raise NotImplementedError('szczekaj')
    def jedz(self):
        self.pojemnosc += 1
    def gloduj(self):
        self.pojemnosc -= 1
    def czy_zdech(self):
        return self.pojemnosc <= 0

In [40]:
Pies('').szczekaj()


---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-40-82b63d8ff70c> in <module>()
----> 1 Pies('').szczekaj()

<ipython-input-39-4305ecb2cd9d> in szczekaj(self)
      9         self.rzeczy = []
     10     def szczekaj(self):
---> 11         raise NotImplementedError('szczekaj')
     12     def jedz(self):
     13         self.pojemnosc += 1

NotImplementedError: szczekaj

In [4]:
class Jamnik(Pies):
    rasa = 'jamnik'
    
    def szczekaj(self):
        return 'woow woow tak bardzo'

In [5]:
j = Jamnik('olek')

In [6]:
j.szczekaj()


Out[6]:
'woow woow tak bardzo'

In [7]:
j.nazwa


Out[7]:
'olek'

In [8]:
j.rasa


Out[8]:
'jamnik'

In [9]:
for i in range(10):
    j.jedz()

In [10]:
for i in range(200):
    j.gloduj()

In [11]:
j.czy_zdech()


Out[11]:
True

In [16]:
class Buldog(Pies):
    rasa = 'buldog'
    kolor = 'ciapaty'
    
    def szczekaj(self):
        if self.pojemnosc > 0:
            return 'wooow'
        else:
            return 'nie woow bo nie zyje'
    
    def jedz(self):
        super(Buldog, self).jedz()
        self.rzeczy.append('posilek')

In [17]:
b = Buldog('patrycja')

In [18]:
b.szczekaj()


Out[18]:
'wooow'

In [19]:
b.jedz()

In [20]:
b.pojemnosc


Out[20]:
101

In [21]:
for i in range(200):
    b.gloduj()

In [22]:
b.pojemnosc


Out[22]:
-99

In [23]:
b.szczekaj()


Out[23]:
'nie woow bo nie zyje'

In [24]:
b.rzeczy


Out[24]:
['posilek']

In [25]:
j.rzeczy


Out[25]:
['posilek']

In [28]:
Buldog.rzeczy


Out[28]:
['posilek', 'chipsy', 'kluczyki']

In [27]:
Buldog.rzeczy += ['chipsy', 'kluczyki']

In [29]:
Pies.rzeczy


Out[29]:
['posilek', 'chipsy', 'kluczyki']

In [30]:
b.rzeczy = []

In [31]:
b.rzeczy


Out[31]:
[]

In [32]:
Pies.rzeczy


Out[32]:
['posilek', 'chipsy', 'kluczyki']

In [33]:
Pies.rasa


Out[33]:
'-'

In [34]:
Jamnik.rasa


Out[34]:
'jamnik'

In [35]:
Buldog.rasa


Out[35]:
'buldog'

In [ ]: