Heim > Artikel > Backend-Entwicklung > Objekte in Python
Objekte: Alle im Programm verwendeten Werte sind Objekte, die aus internen Eigenschaften und Methoden bestehen. Diese Methoden führen bereits zuvor beim Betrieb von Listentypdaten aus >
data = [37,34]; data.insert(1,25); data.append(23) print(data);Ausgabeergebnisse:
37,25,34,23
Die Funktion dir() kann die für das Objekt verfügbaren Methoden auflisten und ist ein Werkzeug für interaktive Erlebnisse
dir(data)Ausgabeergebnis:
['__add__', '__class__', '__contains__', ...'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
Wenn Sie die Funktion dir() verwenden, um die Methoden des Objekts anzuzeigen, werden Sie feststellen, dass es welche gibt Viele Methoden beginnen mit einem Unterstrich und speziellen Methoden am Ende. Diese Methoden werden zum Implementieren verschiedener Operationen verwendet:
data = data +[3,4,50]; print(data);
data.__add__([3,4,5])In der objektorientierten Programmierung ist die Klasse objName: Die Klasse, die das Objekt objName definiert: Klassenname
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);Die Def-Syntax wird in der Klasse zum Definieren von Methoden verwendet. Der erste Parameter self in jeder Methode zeigt immer auf das Objekt selbst.
Die Variable self: Alle Operationen, an denen das Objekt beteiligt ist, müssen wie Stack verwendet werden, indem auf die Variable self
verwiesen wird.
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]
append()-Methode: Diese Methode ist Wie im Kapitel „Listen in Python“ vorgestellt, wird sie verwendet, um ein Element an das Ende der Liste anzuhängen.
pop()-Methode: wird verwendet, um ein Element vom Ende der Liste zu löschen und das Element zurückzugeben.
len( ) Funktion: Gibt die Anzahl der Elemente in der Liste zurück
Die Stack-Klasse erstellt tatsächlich ein brandneues Objekt, um den Stack zu implementieren, aber der Stack ist fast identisch mit dem integrierten Listenobjekt, sodass wir die Liste direkt erben und hinzufügen können zusätzliche Methoden
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]
Wie erstelle ich eine statische Methode in einer Klasse?
Normalerweise werden alle in einer Klasse definierten Methoden nur mit Instanzen (erstellten Objekten) der Klasse verwendet, aber auch statische Methoden (können wie Funktionen aufgerufen werden) können definiert werden
class MyObject(object): @staticmethod def myCheck(): return 'ok'; result = MyObject.myCheck(); print(result);ok
@staticmethod ist ein Dekorator (Dekorator), der eigentlich eine Funktion ist. Bevor wir die myCheck-Funktion ausführen, wird zuerst die staticmethod-Funktion des Dekorators ausgeführt und die myCheck-Methode als statische Methode definiert
Zusammenfassung:
1, dir()-Methode: Sie können alle Methoden des Objekts anzeigen
2, magische Methode: Methoden, die mit doppelten Unterstrichen beginnen und enden. Diese Methodenklasse definiert verschiedene Verhaltensweisen, wie zum Beispiel: __add__(). Methode definiert die +-Operation
3, in Python Definieren Sie Klassenmethoden und wie Objekte geerbt werden, wie zum Beispiel: Klasse MyObject(object)
4, @staticmethod: Verwendung von Dekoratoren: Definieren Sie eine Methode als statische Methode
Die oben genannten Objekte sind Objekte in Python. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!