human
I am working on the file "Clase 09 -  Introducción POO.ipynb".
The first task is:
En este caso, no sólo es importante ver cómo se hace para invocar un método de un objeto (que es poniendo el nombre del objeto, un punto y el nombre del método seguido por todos sus parámetros entre paréntesis) sino también cómo se puede conjugar el uso de los objetos. <br>
En la función obtener_superficie_de_apoyo de la clase Mesa podemos ver que la única responsabilidad que tiene ese objeto es redirigir la consulta que se le hizo al objeto tabla. Es decir, podía preguntárselo a cualquiera de sus patas o a la tabla, pero sabía a quién tenía que preguntarselo. Y no importa si es una tabla redonda o rectangular, las dos clases saben cómo responder la pregunta de calcular_superficie. 
Python
    def obtener_superficie_de_apoyo(self):
        return self.tabla.calcular_superficie()
Otro ejemplo
Volviendo un poco al ejemplo planteado antes de querer modelar una materia, podríamos implementar los alumnos de la siguiente manera:
```Python
class Alumno(object):
def __init__(self, padron, nombre, apellido):
    self.padron = padron
    self.nombre = nombre
    self.apellido = apellido
    self.parciales = []
    self.tps = []
    self.coloquios = []

def rendir_parcial(self, nota):
    self.parciales.append(nota)

def entregar_trabajo_practico(self, nota):
    self.tps.append(nota)

def rendir_coloquio(self, nota):
    self.coloquios.append(nota)

def aprobo_algun_parcial(self):
    aprobo_alguno = False
    for nota in self.parciales:
        if nota &gt;= 4:
            aprobo_alguno = True

    return aprobo_alguno

def aprobo_todos_los_tp(self):
    aprobo_todos = True
    for nota in self.parciales:
        if nota &lt.
4:
            aprobo_todos = False

    return aprobo_todos

def puede_rendir_coloquio(self):
    return self.aprobo_algun_parcial() and self.aprobo_todos_los_tp()

```
Después, para usa estas variables sólo es necesario definir una variable de la clase Alumno pasandole los parametros necesarios para poder inicializarlo:
```Python
alum = Alumno(12345, 'Juan',...
Can you write Python code for it?
 Give me a the Python code you requested?
assistant
#Here is the Python code you requested.

class Alumno(object):

    def __init__(self, padron, nombre, apellido):
        self.padron = padron
        self.nombre = nombre
        self.apellido = apellido
        self.parciales = []
        self.tps = []
        self.coloquios = []
    
    def rendir_parcial(self, nota):
        self.parciales.append(nota)
    
    def entregar_trabajo_practico(self, nota):
        self.tps.append(nota)
    
    def rendir_coloquio(self, nota):
        self.coloquios.append(nota)
        
    def aprobo_algun_parcial(self):
        aprobo_alguno = False
        for nota in self.parciales:
            if nota >= 4:
                aprobo_alguno = True

        return aprobo_alguno
    
    def aprobo_todos_los_tp(self):
        aprobo_todos = True
        for nota in self.tps:
            if nota < 4:
                aprobo_todos = False
        
        return aprobo_todos
    
    def puede_rendir_coloquio(self):
        return self.aprobo_algun_parcial() and self.aprobo_todos_los_tp()
    

alum = Alumno(12345, 'Juan', 'Perez')
alum.rendir_parcial(2)
alum.entregar_trabajo_practico(7)
alum.entregar_trabajo_practico(9)

if alum.puede_rendir_coloquio():
    print 'El alumno puede rendir coloquio'
else:
    print 'El alumno no puede rendor coloquio'

print '¿Y si después rinde el parcial y se saca un 7?'
alum.rendir_parcial(7)

if alum.puede_rendir_coloquio():
    print 'El alumno puede rendir coloquio'
else:
    print 'El alumno no puede rendor coloquio'