python中可迭代对象指的是可以保存多个元素,并且能够通过方法或者其他语法来进行访问的容器。而因为python动态类型的机制,函数在调用时是不知道参数类型的,所以在使用前会先判断一下数据类型。而下面这一篇文章讲解的就是Python判断变量是否为可迭代对象的方法,往下看看。
一、isinstance()函数
python之中的内置函数isinstance()就是用来判断一个对象是否为指定数据类型的,如果是的话就会返回True值,反之则是返回False。但是在python中是没有这个可迭代对象这个数据类型的,不过可以通过导入模块中的类来实现,代码示例如下所示:
from collections import Iterable isinstance("str", Iterable) True
以上代码示例之中就是去判断字符串类型的对象是否为可迭代数据类型,返回结果为True值的原因就在于str类继承的父类中有这个类存在,就像布尔类型判断是否为int一样返回True。
二、for循环
使用try异常捕获语句以及for循环迭代结构就可以,因为for循环是从可迭代对象中依次的取出元素进行访问。如果不是可迭代对象的话就会出现错误,使用try捕获到了异常就表示变量不是可迭代对象,代码示例如下所示:
try: for x in obj: print(x) finally: pass
二、hasattr()函数
这个函数是用来判断一个对象中是否存在某个属性的,因为只要是可迭代对象中都有__iter__这个属性能够用来完成元素迭代操作,代码示例如下所示:
s = "hello world" hasattr(s, "__iter__")
以上就是关于“Python如何判断变量是否为可迭代对象?Python判断可迭代对象怎么做”的全部内容了,希望对你有所帮助。