Python中isinstance(dataset, (list,))与isinstance(dataset, list)的区别
两种isinstance写法的差异
- 首先明确Python中
isinstance()的第二个参数支持两种输入格式:单个类型对象,或者由多个类型对象组成的元组。当传入元组时,只要被判断的变量属于元组中的任意一个类型,就会返回True。 - 写法
isinstance(dataset, list):第二个参数是单个list类型,只有当dataset是list类型(或list子类的实例)时,才会返回True。 - 写法
isinstance(dataset, (list,)):第二个参数是仅包含list一个元素的元组,功能上和第一种写法没有任何区别,判断结果完全一致,只是用了多类型判断的语法格式,恰好元组内只有一个类型而已。
这种单元素元组的写法通常是为了后续扩展方便:如果之后需要新增判断其他类型(比如
tuple、set),直接在元组内追加即可,不需要修改参数的外层结构。如果一开始写的是单个类型,后续要加多类型判断的时候还得手动把参数改成元组格式。
内容的提问来源于stack exchange,提问作者PAVAN NARAHARISETTY
相关产品推荐
相关产品推荐

