Ruby 魔幻的语法对于写抽象轮子(如 ORM、Web 框架)似乎如鱼得水。
很多魔幻特性对于 Python 这样一个简约语言好像难以实现,那么各位在造轮子时如何模拟实现这些魔幻特性的呢?
(我很同意 RoR 的观点,外部接口要简单、内部实现要魔幻 ~)
或者,你贴出一段高度抽象、玄机、黑魔法、充分利用 Python 自身语言特点的代码?
(如:利用 yield 、利用 Magic method、利用元类、利用函数也是一个对象、扩展语言自带对象、利用装饰圈等等等)
另外,我想请教一下我遇到的这两个问题要如何解决:
- 如何实现:读取函数定义时的形式参数名?不使用关键词参数时获取传入的参数名?
- 当用装饰器装饰一个类方法时,如何获取该类方法所属的类呢?
