Załóżmy, że mam obiekt Pythona x
i ciąg s
, jak mogę ustawić atrybut s
na x
? Więc:
>>> x = SomeObject()
>>> attr = 'myAttr'
>>> # magic goes here
>>> x.myAttr
'magic'
Jaka jest magia Nawiasem mówiąc, celem tego jest buforowanie połączeń do x.__getattr__()
.
python
attributes
object
Nacięcie
źródło
źródło
dirty
atrybut do danych wejściowych użytkownika ...__slots__
atrybutu.int
. Czy możesz mi wytłumaczyć dlaczego? (czy to wszystko__builtin__
?Zwykle definiujemy do tego klasy.
Jednakże, można do pewnego stopnia, to zrobić z
setattr
igetattr
wbudowanych funkcji. Nie działają one jednakobject
bezpośrednio na instancje .Działają jednak na wszelkiego rodzaju prostych klasach.
źródło
niech x będzie obiektem, wtedy możesz to zrobić na dwa sposoby
źródło