Heim > Backend-Entwicklung > Python-Tutorial > Objekte in Python

Objekte in Python

黄舟
Freigeben: 2017-01-19 17:16:31
Original
1670 Leute haben es durchsucht

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);
Nach dem Login kopieren
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)
Nach dem Login kopieren
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:

Der +-Operator in Python führt tatsächlich die folgenden Operationen aus:
data = data +[3,4,50];  
print(data);
Nach dem Login kopieren


Hinweis: Ob zwei Objekte zuerst addiert werden können, hängt davon ab, ob das entsprechende Objekt über eine __add__()-Methode verfügt. Wenn ja, können wir dies auch dann ausdrücken, wenn das Objekt mathematisch nicht additiv ist In Form von Additionen können wir daraus schließen: Magische Methoden wie __add__ in Python definieren im Allgemeinen unterschiedliche Verhaltensweisen. Das entsprechende Verhalten von __add__ ist + Operation oder Verbindung
data.__add__([3,4,5])
Nach dem Login kopieren
In der objektorientierten Programmierung ist die Klasse objName: Die Klasse, die das Objekt objName definiert: Klassenname



Bei der Definition der Stack-Klasse deklariert die Syntaxklasse Stack(object) Stack als Objekt. Klammern sind also Pythons Methode zur Angabe der Vererbung Die vom Objekt geerbte Stack-Klasse ist der Stammtyp unter allen Python-Typen.
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);
Nach dem Login kopieren
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.

Ausgabeergebnis
s = Stack();   
s.push("Dave");  
s.push([3,4,5,6]);  
s.push(32);  
x = s.pop();
Nach dem Login kopieren
32


Ausgabeergebnis:
y = s.pop();
Nach dem Login kopieren
[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

Beim Erben eines Listenobjekts kann die Methode Stack-Objekt des Listenobjekts direkt verwendet werden
class Stack(list):  
    def push(self,object):  
        self.append(object);
Nach dem Login kopieren


Ausgabeergebnis:
s = Stack();  
s.push(66);   
s.push(65);   
s.push(64);   
s.push(63);
Nach dem Login kopieren
[66, 65, 64, 63]


Ausgabeergebnis:
s.reverse();#此方法 用于反转列表中元素的顺序
Nach dem Login kopieren
[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

Ausgabeergebnisse:
class MyObject(object):  
    @staticmethod  
    def myCheck():  
        return 'ok';  
result = MyObject.myCheck();  
print(result);
Nach dem Login kopieren
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)!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage