Un "oggetto" può essere tranquillamente parametro di una funzione.
Puoi, quindi, passare ad una funzione il Tuo "oggetto" ed all'interno di essa utilizzarne i metodi, od anche, volendo, definire anche caratteristiche "nuove" dell'oggetto stesso, ti faccio un esempio :
>>> class Subject:
def __init__(self): pass
def set_first_name(self, value):
self.first_name = value
def __str__(self):
return self.last_name + self.first_name
>>> def set_first_name(obj, name):
obj.set_first_name(name)
>>> def set_last_name(obj):
obj.last_name = 'nuzzo'
>>> oggetto = Subject()
>>> set_first_name(oggetto, 'pippo')
>>> set_last_name(oggetto)
>>> print(oggetto)
nuzzopippo
>>>
Come vedi nello stralcio di codice sopra, ho definito al volo un oggetto "Subject", una funzione cui passo una istanza dell'oggetto che provvede a richiamarne un metodo per la definizione del first_name ed un'altra funzione cui passo per parametro lo stesso oggetto che definisce una proprietà "nuova" dell'oggetto ed alla fine lo stampo, ed esce il mio nick.
NON copiare 'sti metodi così come sono, Ti darebbero errori probabilmente, sono solo un esempio di mezzi che stanno li a Tua disposizione, approfondisci le nozioni sui parametri delle funzioni e sulle classi e li vedrai.
Ciao
