自省,汉语词语,读音是zì xǐng,意思是自我反省。
《论语·里仁》:“子曰:‘见贤思齐焉,见不贤而内自省也。’”
class Person():
name = "zhangsan"
print(dir(Person)) # dir是自省的一种,作用:查看自己有哪些属性
print(hasattr(Person,"name")) # hasattr是自省的一种,作用:查看对象有没有这个属性
# 使用场景举例: “检查函数参数(类型检查isinstance等)”
def f(i):
if not isinstance(i, int):
print(f'{i}不是整数')
else:
print(f'{i}是整数')
if __name__ == '__main__':
f(1) # 1是整数
f(3.1) # 3.1不是整数
常见的自省有哪些:
dir() #python查看对象有哪些
hasattr() # python查看对象是否有每个属性
type() # python查看对象是什么类型
isinstance() # python查看对象是不是某个类型
id() # python查看对象的id是什么
callable() # python判断对象是不是可调用的(是不是可以加括号调用)
help() # python查看某个对象的帮助信息
getattr() # python获取某个对象的属性
setattr() # python设置某个对象的属性