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

断言 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 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号