ich muss in build in types eine art flag setzten.
Da sie gegen ``setattr``s "imun" sind brauche ich einen vollkommen unsichtbaren wrapper der attribut zugriffe einfach weiterleitet und korrekt auf type() und dir() reagiert (hab ich was vergessen?)
nun meine frage:
wie implementier ich die zwei letzten punkte?
danke
voellig transparenter wrapper
hmmmm, ok, irgendwie hab ich statdessen voll das obskure zeugs geschrieben
bleibt nur noch die type() frage zu klaeren
Code: Alles auswählen
def __getattribute__(self, attr):
if attr == 'value' or not attr in dir(self.value):
return object.__getattribute__(self, attr)
return getattr(self.value, attr)
bleibt nur noch die type() frage zu klaeren
Code: Alles auswählen
>>> class T(str):
pass
>>> t = T()
>>> type(t)
<class '__main__.T'>
>>> type(t) == str
False
>>>
cp != mv
es geht nicht nur darum was ich wie mache (zb ab jetzt isinstance benutzten^^) sondern auch was andere biliotheken machen weil gewrappte objekte auch als parameter an diese weitergegeben werden sollen .
bei einem zusaetzlicher attribut wird es wahrscheinlich nicht zu einem anderen effekt kommen als bei der uebergabe des originals, ein anderes verhalten zu type() is aber schon gefaerlicher
bei einem zusaetzlicher attribut wird es wahrscheinlich nicht zu einem anderen effekt kommen als bei der uebergabe des originals, ein anderes verhalten zu type() is aber schon gefaerlicher
cp != mv
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Hast du ein konkretes Beispiel?Costi hat geschrieben:es geht nicht nur darum was ich wie mache (zb ab jetzt isinstance benutzten^^) sondern auch was andere biliotheken machen weil gewrappte objekte auch als parameter an diese weitergegeben werden sollen .
bei einem zusaetzlicher attribut wird es wahrscheinlich nicht zu einem anderen effekt kommen als bei der uebergabe des originals, ein anderes verhalten zu type() is aber schon gefaerlicher
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wenn eine Bibliothek ``type()`` benutzt um Typen zu Prüfen, dann gehört dem Autor eine Beschwerdemail geschrieben.Costi hat geschrieben:bei einem zusaetzlicher attribut wird es wahrscheinlich nicht zu einem anderen effekt kommen als bei der uebergabe des originals, ein anderes verhalten zu type() is aber schon gefaerlicher
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice