objets en python

黄舟
Libérer: 2017-01-19 17:16:31
original
1667 Les gens l'ont consulté

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);
Copier après la connexion
Résultats de sortie :

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)
Copier après la connexion
Résultat de sortie :

['__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);
Copier après la connexion
Les opérateurs en python effectuent en fait les opérations suivantes :


data.__add__([3,4,5])
Copier après la connexion
Remarque : le fait que deux objets puissent être additionnés en premier dépend du fait que l'objet correspondant possède ou non une méthode __add__(). Si tel est le cas, même si l'objet est mathématiquement non additif, nous pouvons exprimer sa définition. sous forme d'addition, on peut donc conclure que les méthodes magiques comme __add__ en Python définissent généralement des comportements différents. Le comportement correspondant de __add__ est une opération ou une connexion

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);
Copier après la connexion
Lors de la définition de la classe Stack, la classe syntaxique Stack(object) déclare Stack comme un objet. Les parenthèses sont le moyen utilisé par Python pour spécifier l'héritage, donc la classe Stack hérite. from object object est le type racine parmi tous les types python.

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();
Copier après la connexion
Résultat de sortie

32

y = s.pop();
Copier après la connexion
Résultat de sortie :

[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);
Copier après la connexion
Lors de l'héritage d'un objet liste, la méthode Stack objet de l'objet liste peut être utilisée directement


s = Stack();  
s.push(66);   
s.push(65);   
s.push(64);   
s.push(63);
Copier après la connexion
Résultat de sortie :

[66, 65, 64, 63]

s.reverse();#此方法 用于反转列表中元素的顺序
Copier après la connexion
Résultat de sortie :

[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);
Copier après la connexion
Résultats de sortie :

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

Ce qui précède est l'objet dans le contenu python, veuillez faire attention au site Web PHP chinois (www.php.cn) pour plus de contenu connexe !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal