0
def get_connection_tag(connections_tag, connection_type):
    for child in connections_tag.children:
        concat = "".join(child.attributes)
        if connection_type in concat:
            return child
    return -1

connection_typeこの関数は、指定されたが内に存在するかどうかを検索する検索関数として動作しますconnection_tag。成功した場合はから要素を返しますconnections_tag.childrenが、失敗した場合は-1を返します。

検索関数が成功した場合は、この子要素を変更する関数を呼び出しますが、失敗した場合は、関数を呼び出して子要素を生成します。

返還された子供とクラスに電話isinstance()するか、返還されたかどうかを確認することもできますがchild == -1、より適切な方法が欠けているように感じます。おそらく、try /exceptとレイズと関係がありTypeErrorますか?

4

1 に答える 1

2

この場合、接続が見つからなかったことを直感的に示すため、「なし」を返す方が適切です。または、例外を発生させることもできます。実行を停止する必要がある場合、またはより深刻なエラーの場合は、通常、例外を発生させます。

ユースケースに基づくと、コードは次のようになります。

tag = get_connection_tag(connections_tag, connection_type)
if not tag:
    pass
于 2013-01-12T19:31:41.090 に答える