首页 > 解决方案 > 如何使用assert语句来确认python3集合的类型

问题描述

如何确保此函数的参数必须是set类型?

我尝试使用isinstance放置在断言语句中的方法来验证剩余和使用的参数只是设置类型,但这失败了。

def listAllSubset(remaining = set(), used = set()):
    assert(isinstance(remaining, set))
    assert(isinstance(used, set))

    if (len(remaining) == 0):
        print(used)
    else:
        element = remaining.pop()
        listAllSubset(remaining, used)
        listAllSubset(remaining, used.add(element))

我想看看如何确保remainingandused参数只是设置。

标签: pythonpython-3.xtypessetassert

解决方案


不是一种有效的方法,而是一种棘手的方法:

def listAllSubset(remaining = set(), used = set()):
    remaining.discard
    used.discard
    ...

推荐阅读