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(), used = set()):
assert(isinstance(remaining, set))
assert(isinstance(used, set))
if (len(remaining) == 0):
print(used)
else:
element = remaining.pop()
listAllSubset(remaining, used)
used.add(element)
listAllSubset(remaining, used)
пожалуйста, прости меня за мой плохой английский, английский такой сложный !!