为了账号安全,请及时绑定邮箱和手机立即绑定

断言 isinstance 对于集合类型不能按预期工作

断言 isinstance 对于集合类型不能按预期工作

慕虎7371278 2023-10-05 17:39:08
我写了这段代码:def func(collection_type): assert isinstance(collection_type,(list,set))然后我写道:func(collection_type=set)我得到了断言错误
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

assert isinstance(collection_type,(list,set))。这将测试给定的实例是否属于(list,set)。所以尝试使用列表或设置的实例,如下所示,

func(collection_type=[1, 2, 3])func(collection_type={1, 2, 3})

在Python中,所有类都是type类的实例。所以,如果你通过了课程本身,就像func(collection_type=set). 它将检查type,因为只有(list,set)那里存在,所以它会引发断言错误。

如果你想用空集进行测试,请尝试func(collection_type=set())


查看完整回答
反对 回复 2023-10-05
  • 1 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信