Sobes.tech
Middle

Wie ruft man jeden der Methoden der Klasse A auf?

sobes.tech KI

Antwort von AI

Angenommen, wir haben eine Klasse A mit Methoden:

import time

class A:
    def what_time(self):
        return f'{time.time()}'

    @property
    def useless_getter(self):
        return self.text

    def __private_or_public(self):
        return 1

    def __str__(self):
        return self.text

    def __init__(self, text):
        self.text = text

Um jede Methode aufzurufen:

  • what_time — normale Methode, wird über eine Instanz aufgerufen:

    a = A('hallo')
    print(a.what_time())
    
  • useless_getter — Eigenschaft, wird wie ein Attribut ohne Klammern aufgerufen:

    print(a.useless_getter)
    
  • __private_or_public — Methode mit doppeltem Unterstrich, der Name ändert sich (name mangling), um aufzurufen:

    print(a._A__private_or_public())
    
  • __str__ — spezielle Methode, wird automatisch beim Umwandeln in einen String aufgerufen:

    print(str(a))
    

Daher muss man, um eine private Methode mit doppeltem Unterstrich aufzurufen, den Namen mit der Klasse verwenden: _A__private_or_public().