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 和提高 a 有什么关系TypeError

4

1 回答 1

2

在这种情况下,返回“None”会更合适,因为它直观地表明没有找到连接。或者,您也可以引发异常,如果执行必须停止或者是更严重的错误,我通常会引发异常。

根据您的用例,代码如下所示:

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