<div dir="ltr"><font color="#000000"><font face="courier new,monospace">Or do what Steven said if its exactly a dict and doesn't require special management of the underlying dict.</font></font></div><div class="gmail_extra">

<br clear="all"><div><b>Matt Jones</b></div>
<br><br><div class="gmail_quote">On Wed, Jan 16, 2013 at 8:58 AM, Matt Jones <span dir="ltr"><<a href="mailto:matt.walker.jones@gmail.com" target="_blank">matt.walker.jones@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><font color="#000000"><font face="courier new,monospace">Explicit is better than implicit.  Define the dunder methods so you know exactly what your class is doing when being indexed.  You only need __getitem__ and __setitem__ really, but if you want to treat it just like a dict you'll need</font></font><font face="courier new, monospace"> __delitem__, __len__, __iter__, __contains__ as well.</font></div>

<span class="HOEnZb"><font color="#888888">
</font></span><div class="gmail_extra"><span class="HOEnZb"><font color="#888888"><br clear="all"><div><b>Matt Jones</b></div></font></span><div><div class="h5">
<br><br><div class="gmail_quote">On Wed, Jan 16, 2013 at 8:42 AM, Florian Lindner <span dir="ltr"><<a href="mailto:mailinglists@xgm.de" target="_blank">mailinglists@xgm.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Hello,<br>
<br>
I have a:<br>
<br>
class C:<br>
   def __init__(self):<br>
      d = dict_like_object_created_somewhere_else()<br>
<br>
  def some_other_methods(self):<br>
    pass<br>
<br>
<br>
class C should behave like a it was the dict d. So I could do:<br>
<br>
c = C()<br>
print c["key"]<br>
print len(c)<br>
<br>
but also<br>
<br>
c.some_other_method()<br>
<br>
How can I achieve that? Do I need to define all methods like<br>
__getitem__, __len__, ... (what else?) to access the inner dict or is<br>
there something more slick?<br>
<br>
Thanks,<br>
<br>
Florian<br>
<span><font color="#888888">--<br>
<a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/mailman/listinfo/python-list</a><br>
</font></span></blockquote></div><br></div></div></div>
</blockquote></div><br></div>