Pybites Logo

Create a js-like dict object

Level: Advanced (score: 4)

In this Bite we challenge you to make a dict-like object that supports attribute lookups, just like JS objects!

Check out the docstring and tests for more info ... basically after creating an object, e.g. JsObject(a=1, b=2, c=3), we can access it by both key and attribute. So in this case both D['c'] and D.c would return 3. We also test for other dict operations / behaviors.

Disclaimer: take this as an exercise of inheritance and dict internals, but keep in mind that it violates Zen of Python's There should be one -- and preferably only one -- obvious way to do it, so probably not something you would use in your production code use!

Other than that, have fun and keep calm and code in Python!