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。
如果搜索功能成功,我想调用一个函数来修改这个子元素,但如果它不成功,我想调用一个函数来生成子元素。
我可以简单地使用返回的子级和Class调用isinstance()
,或者我可以检查是否返回child == -1
,但我觉得我错过了一种更合适的方法。也许与try / except和提出TypeError
?
答案 0 :(得分:2)
在这种情况下,返回“None”会更合适,因为它直观地表明没有找到连接。或者你也可以引发异常,如果执行必须停止或者是一个更严重的错误,我通常会引发异常。
根据您的用例,代码如下所示:
tag = get_connection_tag(connections_tag, connection_type)
if not tag:
pass