Python 05 Flashcards

1
Q

Objekte

A

-Python unterstützt viele verschiedene Arten von Daten
1234 3.14159 “Hallo” [1, 5, 7, 11, 13]{ “CA”: “Kalifornien”, “MA”: “Massachusetts”}
-Jeder der obigen Punkte ist ein Objekt, und jedes Objekt hat:
einen Typ
eine interne Datenrepräsentation (primitiv oder zusammengesetzt)
eine Menge von Prozeduren für die Interaktion mit dem Objekt
-ein Objekt ist eine Instanz eines Typs:
1234 ist eine Instanz eines int
“hello” ist eine Instanz eines Strings

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Object Oriented Programming

A

ALLES IN PYTHON IST EIN OBJEKT (und hat einen Typ)

  • Sie können neue Objekte irgendeines Typs erstellen
  • Sie können Objekte manipulieren
  • Sie können Objekte zerstören
  • explizit mit del oder einfach nur “vergessen”
  • Python-System wird zerstörte oder unzugängliche Objekte zurückfordern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Definieren von Klassen

A
class Human:
    race = "Homosapoien" #Klassenattribute
    def \_\_init\_\_(self, name, height, age):
          self.name = name
          self.height = height
          self.age = age #Instanzattribute
    def speak(self):
           print("I am a human") #Klassenmethode
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vorteil von Object Oriented Programming

A
  • Bündeln Sie Daten zu Paketen zusammen mit Prozeduren, die sie über wohldefinierte Schnittstellen bearbeiten
  • Teil-und-Herrschungs-Prinzip
  • -> Implementieren und testen Sie das Verhalten jeder Klasse separat
  • -> Verbesserte Modularität reduziert die Komplexität
  • Klassen erleichtern die Wiederverwendung
  • -> Viele Python-Module definieren neue Klassen
  • -> Jede Klasse hat eine separate Umgebung (keine Kollision von Funktionsnamen)
  • -> Die Vererbung ermöglicht es Unterklassen, eine ausgewählte Teilmenge des Verhaltens einer Oberklasse neu zu definieren oder zu erweitern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Klassenattribute

A

Class Shape:
#Hier Attribute definieren
-Attribute: Daten und Prozeduren, die zu einer Klasse gehören
-Datenattribute
Stellen Sie sich Daten wie andere Objekte vor, aus denen die Klasse besteht
Z.B. besteht eine Shape aus einigen Zahlen, die sie definieren.
-Methoden (prozedurale Attribute)
Stellen Sie sich Methoden als Funktionen vor, die nur mit dieser Klasse funktionieren
Wie mit dem Objekt interagiert werden soll
Z.B. können Sie einen Abstand zwischen zwei Koordinatenobjekten definieren, aber ein Abstand zwischen zwei Listenobjekten hat keine Bedeutung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Definieren wie Instanzen einer Klasse erstellt werden

A
  • Wir müssen definieren, wie eine Instanz einer Klasse erzeugt werden kann
  • Spezielle Methode namens __init__ verwenden, um Ihr Datenattribut zu initialisieren
  • Datenvariablen einer Instanz einer Klasse werden als Instanzvariablen bezeichnet
  • Stellen Sie kein Argument für self zur Verfügung, Python tut dies automatisch
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist eine Methode?

A
  • Eine Methode ist ein prozedurales Attribut= Eine Funktion, die nur mit dieser Klasse arbeitet
  • Python übergibt das Objekt immer als erstes Argument
  • -> Konvention ist es, self als Namen des ersten Arguments aller Methoden zu verwenden
  • Der “.” Operator wird verwendet, um auf ein beliebiges Attribut zuzugreifen
  • -> Ein Datenattribut eines Objekts
  • -> Eine Methode eines Objekts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly