hasattr判断是不是可迭代类型的方法

实验一、

print(hasattr(1,"len"))
print(hasattr(list,"len"))
print(hasattr("dddd","len"))
print(hasattr(dict(a=1,b=2),"len"))
print(hasattr(set(),"len"))
False
False
False
False
False

实验二、
class Coordinate:
    x = 10
    y = -5
    z = 0
 
point1 = Coordinate() 
print(hasattr(point1, 'x'))
print(hasattr(point1, 'y'))
print(hasattr(point1, 'z'))
print(hasattr(point1, 'no'))  # 没有该属性


实验三、
print(hasattr(1,"__len__"))
print(hasattr(list,"__len__"))
print(hasattr("dddd","__len__"))
print(hasattr(dict(a=1,b=2),"__len__"))
print(hasattr(set(),"__len__"))

False
True
True
True
True

建议:if hasattr(N, '__len__') and (not isinstance(N, str))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值