mais lors de l'assignation de la fonction (deuxième bloc) j'obtiens : TypeError: can't set attributes of built-in/extension type 'datetime.timedelta'
Me viennent deux questions : 1) Pourquoi cette limitation
Cette limitation vient de l'implémentation de Python ... plus exactement, il est possible de construire des structures de données étendues (ou "builtin") qui acceptent la création de nouveaux attributs dynamiquement, mais il est aussi possible de l'interdire.
2) Comment feriez vous pour pouvoir écrire la dernière ligne de code ?
Rien ... il n'y a rien que tu puisses faire pour écrire ça (et que ce soit correct ;) ) ! Il faut que tu écrives :
mais lors de l'assignation de la fonction (deuxième bloc) j'obtiens :
TypeError: can't set attributes of built-in/extension type
'datetime.timedelta'
Me viennent deux questions :
1) Pourquoi cette limitation
Cette limitation vient de l'implémentation de Python ... plus
exactement, il est possible de construire des structures de données
étendues (ou "builtin") qui acceptent la création de nouveaux attributs
dynamiquement, mais il est aussi possible de l'interdire.
2) Comment feriez vous pour pouvoir écrire la dernière ligne de code ?
Rien ... il n'y a rien que tu puisses faire pour écrire ça (et que ce
soit correct ;) ) !
Il faut que tu écrives :
mais lors de l'assignation de la fonction (deuxième bloc) j'obtiens : TypeError: can't set attributes of built-in/extension type 'datetime.timedelta'
Me viennent deux questions : 1) Pourquoi cette limitation
Cette limitation vient de l'implémentation de Python ... plus exactement, il est possible de construire des structures de données étendues (ou "builtin") qui acceptent la création de nouveaux attributs dynamiquement, mais il est aussi possible de l'interdire.
2) Comment feriez vous pour pouvoir écrire la dernière ligne de code ?
Rien ... il n'y a rien que tu puisses faire pour écrire ça (et que ce soit correct ;) ) ! Il faut que tu écrives :
mais lors de l'assignation de la fonction (deuxième bloc) j'obtiens : TypeError: can't set attributes of built-in/extension type 'datetime.timedelta'
Me viennent deux questions : 1) Pourquoi cette limitation 2) Comment feriez vous pour pouvoir écrire la dernière ligne de code ?
D'avance merci.
Laurent G.
1) Pour gagner un peu de mémoire et de vitesse, les types built-in ne sont pas aussi flexibles que les classes normales... 2) s'il n'est pas possible de modifier le type, on peut le remplacer par un autre !
class myDelta(datetime.timedelta): def minutes(self): return self.seconds/60
mais lors de l'assignation de la fonction (deuxième bloc) j'obtiens :
TypeError: can't set attributes of built-in/extension type
'datetime.timedelta'
Me viennent deux questions :
1) Pourquoi cette limitation
2) Comment feriez vous pour pouvoir écrire la dernière ligne de code ?
D'avance merci.
Laurent G.
1) Pour gagner un peu de mémoire et de vitesse, les types built-in ne
sont pas aussi flexibles que les classes normales...
2) s'il n'est pas possible de modifier le type, on peut le remplacer par
un autre !
class myDelta(datetime.timedelta):
def minutes(self):
return self.seconds/60
mais lors de l'assignation de la fonction (deuxième bloc) j'obtiens : TypeError: can't set attributes of built-in/extension type 'datetime.timedelta'
Me viennent deux questions : 1) Pourquoi cette limitation 2) Comment feriez vous pour pouvoir écrire la dernière ligne de code ?
D'avance merci.
Laurent G.
1) Pour gagner un peu de mémoire et de vitesse, les types built-in ne sont pas aussi flexibles que les classes normales... 2) s'il n'est pas possible de modifier le type, on peut le remplacer par un autre !
class myDelta(datetime.timedelta): def minutes(self): return self.seconds/60