私はJava、C++、Delphiから来ています。今はPythonの小さなプロジェクトに取り組んでいます。これまでのところ私はほとんどの問題を解決することができましたが、未解決の問題がありました:Pythonオブジェクトの型キャストとXML
XMLノードのメソッドgetAttribute()をext_xml_nodeに型キャストして置き換えたい/上書きするだけです。プロジェクトは新しいgetAttributeを使用します。私が読むことができる限り、実際の型キャスト(C++のような)はPythonでは不可能なので、特定の関数(xmlノード引数を持つディスパッチャのような他のサブ関数を呼び出す)で考えようとしました。新しいクラスext_xml_node
class ext_xml_node(xml_node): ... def getAttribute(self, name): unhandled_value = super...(name) handled_value= dosomethingiwth(unhandled_value) return handled_value def dispatcher(self, xml_node): for child_node in xml_node.childNodes: if child_node.nodeName == 'setvariable': bla = ext_xml_node(child_node) self.handle_setvariable_statement(bla) def handle_setvariable_statement(xml_node): varname= xml_node.getAttribute("varname") # Now it should call ext_xml_node.getAttribute Method
への引数の型キャスト私はこのプロジェクトでは、各のgetAttribute機能を代用したくない、と別の方法があります(ダックタイピングが確実に動作していない)か、私は本当に書く必要があります各属性に対してその利回りを持つ関数 - そして、どのように?
あなたが求めていることは完全にはっきりしていません。あなたの質問を示す短くて完全なスタンドアロンプログラムを制作できますか?詳細は、[mcve]を参照してください。 –