如何使用断言语句来确认python3集的类型

如何确保此函数的参数必须为/etc/security/limits.conf # <domain> <type> <item> <value> your_username hard nofile 1500 类型?

我尝试使用置于assert语句中的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)) remaining参数。

rainbb520 回答:如何使用断言语句来确认python3集的类型

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

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

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()    # OK: element will be None
        listAllSubset(remaining,used)   # OK: remaining == used == set() 
        listAllSubset(remaining,used.add(element))    # Error: used.add(element) will return None,and the None will give to keyword argument "used",then "assert" will raise a AssertionError.

if __name__ == "__main__":
    listAllSubset()

好吧, 最后一行代码listAllSubset(remaining,used.add(element))listAllSubset(set(),None相等), 然后assert(isinstance(used,set))会引发AssertionError


只看这段代码

used = set()
flag = used.add('_')
print(flag)    # print value of flag
  

没有


已更改

我更改了代码,但它可以满足您的需求,

def listAllSubset(remaining = set(),set))

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

请原谅我的英语不好,英语太难了!

本文链接:https://www.f2er.com/3138312.html

大家都在问