注:个人笔记,仅供参考
环境:python3.8 win10
'''
@fengx
-- 获取对象信息
type(),isinstance(),dir(),hasattr(),setattr(),getattr()
--20200623
'''
def get_lenth(q):
print(len(q))
a = 'You Make Me Sick'
get_lenth(a)
print(a.__len__())
print('--------------------------')
ty = type((x for x in range(10)))
print(ty)
class MyDog(object):
def __len__(self):
return 100
dog = MyDog()
print(len(dog))
print('--------------------------')
class MyObject(object):
def __init__(self):
self.x = 9
def power(self):
return self.x * self.x
obj = MyObject()
print(obj)
print(hasattr(obj,'x'))#判断是否有 x 属性 #True
print(hasattr(obj,'y'))#False
setattr(obj,'y',20)
# 为obj 添加一个y 属性,需传入3个参数
print(hasattr(obj,'y')) #True
setattr(obj,'z',obj.power())
print(getattr(obj,'z'))#获取obj的z属性 #81
print(obj.z) #81
print(getattr(obj,'q',100))#增加一个default值100,若无该属性,则返回默认值 #100
# 以上内置函数用于不清楚对象信息的时候