Трошки питонової магії... або repr and getattr
Post date: Sep 14, 2010 3:45:53 PM
Отож, якось давно у далекому селі К постала задача, а саме зробити аби щось робило десь так
>>> p = People(username='Zada', email='q@q.com')
>>> p.email
>>> p.email = 'w@w.com'
>>> p.email
>>> type(p.email)
<type Field>
Так, після тривалих мандрів у пошуку розв'язку поставленої задачі аФФтар згенерував наступне:
#!/usr/bin/python
# -*- coding: utf-8 -*-
class A(object):
a=0
def __init__(self, a=0):
self.a=a
def __repr__(self):
return str(self.a)
class B(object):
a = A(9)
def __setattr__(self, name, value):
if name == "a":
object.__getattribute__(self, name).a=value
else:
object.__setattr__(self, name, value)
Тому рекомендую почитати про різні штуки типу getattr setattre and object.__getatribute__()