Objets : Toutes les valeurs utilisées dans le programme sont des objets. Les objets sont composés de propriétés et de méthodes internes. Ces méthodes effectueront diverses opérations liées aux données. Nous avons déjà utilisé la méthode lors de l'exploitation de données de type liste :
data = [37,34]; data.insert(1,25); data.append(23) print(data);
37,25,34,23
La fonction dir() peut lister les méthodes disponibles sur l'objet et est un outil d'expérience interactive
dir(data)
['__add__', '__class__', '__contains__', ...'append', 'clear', 'copy', 'count', 'extend' , 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
Lorsque vous utilisez la fonction dir() pour afficher les méthodes de l'objet, vous constaterez qu'il y a de nombreuses méthodes commençant par un trait de soulignement et des méthodes spéciales à la fin. Ces méthodes sont utilisées pour implémenter diverses opérations
Par exemple :
data = data +[3,4,50]; print(data);
data.__add__([3,4,5])
Dans la classe de programmation orientée objet objName class : La classe qui définit. l'objet objName : nom de la classe
class Stack(object): def __init__(self): #__init__ 构造器,当一个实例被创建的时候 调用的初始化方法 self.stack = []; def push(self,object): self.stack.append(object); def pop(self): return self.stack.pop(); def length(self): return len(self.stack);
Les méthodes sont définies en utilisant la syntaxe def dans la classe. Le premier paramètre self de chaque méthode pointe toujours vers l'objet lui-même
Self variable : toutes les opérations impliquant l'objet. doit faire référence à soi. Comment utiliser Stack avec la variable
?
s = Stack(); s.push("Dave"); s.push([3,4,5,6]); s.push(32); x = s.pop();
32
y = s.pop();
[3, 4, 5, 6]
Méthode append() : Cette méthode est Comme introduit dans le chapitre Listes en python, elle est utilisée pour ajouter un élément à la fin de la liste. Méthode
pop() : utilisée pour supprimer un élément de la fin de la liste et renvoyer l'élément
len( ) fonction : retourner le nombre d'éléments dans la liste
La classe Stack crée en fait un tout nouvel objet pour implémenter la pile, mais la pile est presque identique à l'objet liste intégré, nous pouvons donc directement hériter de la liste et ajouter méthodes supplémentaires
class Stack(list): def push(self,object): self.append(object);
s = Stack(); s.push(66); s.push(65); s.push(64); s.push(63);
[66, 65, 64, 63]
s.reverse();#此方法 用于反转列表中元素的顺序
[63, 64, 65, 66]
Comment créer une méthode statique dans une classe ?
Habituellement, toutes les méthodes définies dans une classe ne sont utilisées qu'avec des instances (objets créés) de la classe, mais les méthodes statiques (peuvent être appelées comme des fonctions) peuvent également être définies
class MyObject(object): @staticmethod def myCheck(): return 'ok'; result = MyObject.myCheck(); print(result);
ok
@staticmethod est un décorateur, qui est en fait une fonction Avant d'exécuter la fonction myCheck, la fonction staticmethod du décorateur est exécutée en premier et la méthode myCheck est définie comme une méthode statique
Résumé :
1, méthode dir() : vous pouvez afficher toutes les méthodes de l'objet
2, méthode magique : méthodes commençant et se terminant par des doubles traits de soulignement. Cette classe de méthodes définit différents comportements, tels que : La méthode __add__() définit des opérations.
3, défini en python Méthodes de classe et comment hériter d'objets tels que : class MyObject(object)
4, @staticmethod : Utilisation de décorateurs : Définir une méthode comme une méthode statique