概要
内省(Introspection)是编程语言的一种能力,使程序能够在运行时检查对象的类型、属性和方法。Python提供了强大的内省工具,允许开发者动态地检查和操作对象的属性和方法。本文将详细介绍Python中的内省工具:dir
、getattr
、hasattr
和setattr
,并通过具体的示例代码展示它们的使用。
dir函数
dir
函数用于列出对象的属性和方法。它返回一个包含属性和方法名称的列表,默认情况下会列出对象的所有属性和方法,包括内置的和用户定义的。
示例:使用dir函数
列出字符串对象的属性和方法
s = "Hello, Python"
print(dir(s))
输出:
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'inde