Heim >Backend-Entwicklung >Python-Tutorial >Objektorientierte Programmierung in Python

Objektorientierte Programmierung in Python

WBOY
WBOYOriginal
2023-06-10 17:19:452103Durchsuche

Python nimmt als höhere Programmiersprache eine zentrale Stellung unter vielen Programmiersprachen ein. Seine Syntax ist einfach und leicht zu erlernen und es verfügt über eine Vielzahl leistungsstarker Programmierbibliotheken. Es wird häufig in der Datenverarbeitung, beim maschinellen Lernen, in der Netzwerkprogrammierung und in anderen Bereichen eingesetzt. Der wichtigste Punkt ist, dass Python die objektorientierte Programmierung perfekt unterstützt. Dieser Artikel konzentriert sich auf die objektorientierte Programmierung in Python.

1. Grundkonzepte der objektorientierten Programmierung

In objektorientierten Programmiersprachen werden Daten und Methoden in Objekten gekapselt. Dies ermöglicht es Objekten, verschiedene Operationen und Berechnungen unabhängig voneinander durchzuführen, ohne den Einfluss der externen Umgebung berücksichtigen zu müssen. In Python verfügt jedes Objekt über eigene Eigenschaften und Methoden, und Objekte können durch die Definition von Klassen erstellt werden.

Klasse ist das Grundkonzept der objektorientierten Programmierung, das die Eigenschaften und Methoden von Objekten definiert. Ein Objekt ist eine Instanz einer Klasse, und ein Objekt wird durch Instanziieren einer Klasse erstellt. In Python können Klassen mit dem Schlüsselwort class definiert werden, zum Beispiel:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print("Hello, my name is", self.name, "and I am", self.age, "years old.")

Im obigen Code definieren wir eine Klasse namens Person, die zwei Attribute (Name und Alter) und eine Methode (say_hello) hat. Die Methode __init__ ist eine Konstruktorfunktion in Python, die zum Initialisieren der Eigenschaften eines Objekts verwendet wird. self stellt das Objekt selbst dar und ist ein Standardparameter, der explizit in der Parameterliste der Methode definiert werden muss.

2. Drei Hauptmerkmale der objektorientierten Programmierung

  1. Kapselung

Die Kapselung ist eine der Kernfunktionen der objektorientierten Programmierung. Sie kann Daten und Methoden in einer Klasse kapseln und so die Sicherheit und Zuverlässigkeit von Daten gewährleisten. . In Python können wir Zugriffsmodifikatoren verwenden, um die Sichtbarkeit von Eigenschaften und Methoden zu steuern. Zu diesen Modifikatoren gehören public, private und protected.

Der öffentliche Modifikator wird verwendet, um anzugeben, dass alle Eigenschaften und Methoden des Objekts sichtbar sind:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print("Hello, my name is", self.name, "and I am", self.age, "years old.")

Der private Modifikator wird verwendet, um anzugeben, dass die Eigenschaften und Methoden privat sind und nur innerhalb der Klasse darauf zugegriffen werden kann:

class Person:
    def __init__(self, name, age):
        self.__name = name
        self.__age = age

    def say_hello(self):
        print("Hello, my name is", self.__name, "and I am", self.__age, "years old.")

In Im obigen Code verwenden wir zwei Unterstriche, um anzuzeigen, dass Eigenschaften und Methoden privat sind.

  1. Vererbung

Vererbung ist ein weiteres Kernmerkmal der objektorientierten Programmierung. Sie ermöglicht einer Klasse, Eigenschaften und Methoden von vorhandenen Klassen zu erben und so eine Wiederverwendung von Code zu erreichen. In Python können wir Vererbung verwenden, um eine abgeleitete Klasse zu erstellen. Abgeleitete Klassen können übergeordnete Klassenmethoden überschreiben und ihre eigenen Eigenschaften und Methoden hinzufügen.

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

    def get_grade(self):
        return self.grade

    def say_hello(self):
        super().say_hello()
        print("I am a", self.grade, "student.")

Im obigen Code haben wir eine abgeleitete Klasse namens Student erstellt, die alle Eigenschaften und Methoden der Person-Klasse erbt und gleichzeitig eine get_grade-Methode und eine eigene say_hello-Methode zum Drucken ihrer eigenen Note hinzufügt.

  1. Polymorphismus

Polymorphismus ist das dritte Kernmerkmal der objektorientierten Programmierung, das es verschiedenen Klassenobjekten ermöglicht, unterschiedlich auf dieselbe Methode zu reagieren. In Python können wir Methodenüberschreibung und Methodenüberladung verwenden, um Polymorphismus zu erreichen.

Methodenüberschreiben bedeutet, dass eine abgeleitete Klasse die Methode der übergeordneten Klasse überschreibt:

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

    def say_hello(self):
        print("Hello, my name is", self.name, "and I am a", self.grade, "student.")

Im obigen Code überschreiben wir die Methode say_hello der Klasse Person.

Methodenüberladung bedeutet, dass eine Klasse mehrere Methoden mit demselben Namen hat, deren Parameterlisten jedoch unterschiedlich sind:

class Calculator:
    def add(self, a, b):
        return a + b

    def add(self, a, b, c):
        return a + b + c

Im obigen Code definieren wir zwei Add-Methoden mit demselben Namen, deren Parameterlisten jedoch unterschiedlich sind, was möglich ist Anhand der Anzahl der Parameter werden automatisch verschiedene Methoden aufgerufen.

3. Beispiele für objektorientierte Programmierung in Python

In Python kann objektorientierte Programmierung in verschiedenen Szenarien verwendet werden. Im Folgenden zeigen wir anhand eines einfachen Beispiels ein Beispiel für die objektorientierte Programmierung in Python.

class Shape:
    def area(self):
        pass

class Rectangle(Shape):
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def area(self):
        return self.width * self.height

class Triangle(Shape):
    def __init__(self, base, height):
        self.base = base
        self.height = height

    def area(self):
        return self.base * self.height / 2

class Circle(Shape):
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return 3.14 * self.radius**2

Im obigen Code haben wir drei abgeleitete Klassen Rechteck, Dreieck und Kreis erstellt, die jeweils Rechteck, Dreieck und Kreis darstellen. Jede Klasse überschreibt die Flächenmethode der übergeordneten Klasse, um die Flächen unterschiedlicher Formen zu berechnen.

Mit diesen Klassen können wir Objekte unterschiedlicher Form erstellen und deren Flächen berechnen:

rect = Rectangle(10, 20)
print("Rectangle area:", rect.area())

tri = Triangle(10, 20)
print("Triangle area:", tri.area())

circle = Circle(5)
print("Circle area:", circle.area())

Ausgabe:

Rectangle area: 200
Triangle area: 100.0
Circle area: 78.5

Anhand der obigen Beispiele ist ersichtlich, dass objektorientierte Programmierung in Python das Schreiben und Implementieren erheblich vereinfachen kann von Programmen. Gleichzeitig kann es auch die Lesbarkeit und Wartbarkeit des Programms verbessern. Für Programmierbegeisterte, die Python weiter erlernen möchten, ist es unbedingt erforderlich, die objektorientierte Programmiertechnologie in Python zu verstehen und zu beherrschen.

Das obige ist der detaillierte Inhalt vonObjektorientierte Programmierung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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