Frage zu Umgang mit get()

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
kbr
User
Beiträge: 1508
Registriert: Mittwoch 15. Oktober 2008, 09:27

Hier ist ein Ausschnitt aus dem Quellcode (von PyPy 3.6):

Code: Alles auswählen

class defaultdict(dict):

    ...
    
    def __missing__(self, key):
        # from defaultdict docs
        if self.default_factory is None:
            raise KeyError(key)
        self[key] = value = self.default_factory()
        return value
__missing__ wird implementiert und get() geerbt.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Worauf ich hinaus wollte ist dass defaultdict nicht Methoden wie __getitem__ überschreibt und da einen KeyError abfängt oder dict.get() benutzt
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

@rogerb: Dein Beitrag zum Beitrag von DasIch hat gar keinen Zusammenhang. DasIch hat ja nichts davon gesagt, dass Elemente nicht "implementiert" sind sondern ob Funktionen "involviert" sind, also für die Funktionalität der Implementierung überhaupt verwendet werden. Das ist, worauf ich dich hingewiesen habe.
Benutzeravatar
YAPD
User
Beiträge: 120
Registriert: Dienstag 27. Juli 2021, 23:23
Wohnort: Frankfurt am Main

Thread bitte schließen !
-----
Yet Another Python Developer
Antworten