Ruby Mash相当于Python?

Jul*_*n H 4 ruby python mocking

在Ruby中,有一个叫做Mash的真棒库,它是一个Hash但是通过巧妙地使用missing_method可以转换:

object['property']
Run Code Online (Sandbox Code Playgroud)

object.property
Run Code Online (Sandbox Code Playgroud)

这对模拟非常有用.有人知道Python中有类似的东西吗?

Pau*_*McG 7

你是否绝对有必要以dict为基础?Python对象可以通过非常少的额外管道动态获取属性:

>>> class C(object): pass
...
>>> z = C()
>>> z.blah = "xyzzy"
>>> dir(z)
['__class__', '__delattr__', '__dict__', ... '__weakref__', 'blah']
Run Code Online (Sandbox Code Playgroud)