class Foo(object):
def __init__(self, var):
self._var= var
def __getattr__(self, name):
try:
return self._var[name]
except KeyError:
raise AttributeError()
def __setattr__(self, name, value):
pass
if __name__ == '__main__':
p = Foo({'z': 'value'})
p.z
Но здесь-то _var существует ведь.