5
SWIGの-builtinオプションは、より速く、多重継承のバグを免除されるという利点があります。
後退は私が生成されたクラスまたはサブクラスに任意の属性を設定することはできませんです。
-Iは、それをサブクラス化することで、手間をかけずに、リストのようなPythonの組み込みタイプを拡張することができますSWIG組み込みクラスの拡張
class Thing(list):
pass
Thing.myattr = 'anything' # No problem
使用-However SWIG組み込みタイプの同じアプローチでは、次のようになります。
class Thing(SWIGBuiltinClass):
pass
Thing.myattr = 'anything'
AttributeError: type object 'Thing' has no attribute 'myattr'
この問題を回避するにはどうすればよいですか?
を私はこの問題に対するMONKのソリューションは完全に適切であることを指摘しなければならないと思うが、それはおそらく最初の場所で '-builtin'を使用して、すべての利益を否定します。もちろん、私の場合、私はサブクラス化しないスピードを必要とするクラスを1つ持っています。しかし、私はサブクラス化する別のクラスも持っています。それは本当に便利なテクニックです。 – Mike