Bonjour à tous (et à toutes),

je me suis fais une petite classe dérivée de list comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
class Stack ( list ) :
 
    def pops(self,n):
        '''pops the n first elements'''
        res = self[:n]
        self = self[n:]
        print self
        return res
 
    def push (self,vals):
        '''pushes vals at the head (vals must be a list)'''
        self = vals + self
        print self
et pour une raison que je ne m'explique pas, les méthodes sont sans effet (self reste inchangé en sortie de méthode) alors que les print affichent bien ce que j'attends...
Comme si self était restauré à la sortie.

Quelqu'un y comprend quelque chose ?
Comment obtenir une classe qui fait ce que je veux ?

Merci d'avance