1、用callable
检查对象是否可调用
print(callable(str))
class Student():
def __init__(self,id,name):
self.id = id
self.name = name
def __repr__(self):
return 'id = '+self.id + ', name = ' +self.name
# def __call__(self):
# print('I can be called')
# print(f'my name is {self.name}')
t = Student('001','xiaoming')
print(callable(t)) # 注释掉 __call__ 会显示Flase
# t()
2、ascii
展示对象
调用对象的 repr 方法,获得该方法的返回值,如下例子返回值为字符串.
xiaoming = Student(id='1',name='xiaoming')
print(xiaoming)
print(ascii(xiaoming))
# 3、动态删除属性
print(hasattr(xiaoming,'id'))
print(delattr(xiaoming,'id'))
# 4、动态获取对象属性
print(getattr(xiaoming,'name'))
# 获取xiaoming这个实例的name属性值
# 5、对象是否有这个属性
print(hasattr(xiaoming,'name'))
print(hasattr(xiaoming,'address'))
# 6、对象门牌号, 返回对象的内存地址
print(id(xiaoming))
# 7、查看对象类型
print(type(xiaoming))
8、一键查看对象所有方法
不带 参数 时返回当前范围内的变量、方法和定义的类型列表;带参数时返回 参数 的属性,方法列表。
print(dir(xiaoming))
9、判断是否是子父类的关系
class undergraduate(Student):
def studyClass(self):
pass
print(issubclass(undergraduate,Student)) # (子,父) True
print(issubclass(object,Student)) # (父,子) False
print(issubclass(Student,object))
# 注意:object 是所有类的基类