📅  最后修改于: 2023-12-03 15:09:10.955000             🧑  作者: Mango
在Python中,我们经常需要查看一个对象所具有的属性和方法,以便更好地了解该对象的特征和用法。有多种方式可以查看一个对象的所有属性和方法,下面将介绍其中的几种方法。
dir()函数可以列出一个对象所拥有的所有属性和方法,包括一些特殊方法和属性。
# 创建一个列表对象
my_list = []
# 使用dir()函数查看其所有属性和方法
print(dir(my_list))
输出结果如下所示:
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
我们可以看到,一个列表对象拥有许多特殊属性和方法,还包括一些通用的列表操作方法,如append、extend、insert等等。
help()函数可以查看对象的文档说明,其中包括该对象的属性、方法及其用法说明。
# 创建一个字典对象
my_dict = {}
# 使用help()函数查看其文档
help(my_dict)
输出结果如下所示:
Help on dict object:
class dict(object)
| dict() -> new empty dictionary
| dict(mapping) -> new dictionary initialized from a mapping object's
| (key, value) pairs
| dict(iterable) -> new dictionary initialized as if via:
| d = {}
| for k, v in iterable:
| d[k] = v
| dict(**kwargs) -> new dictionary initialized with the name=value pairs
| in the keyword argument list. For example: dict(one=1, two=2)
|
| Methods defined here:
|
| __contains__(self, key, /)
| True if the dictionary has the specified key, else False.
|
| __delitem__(self, key, /)
…
我们可以看到,该字典对象拥有的所有属性和方法,其文档内还包括用法说明和一些示例代码,非常详细。
inspect模块提供了一些有用的函数,如getmembers()和ismethod()等,可以帮助我们查看一个对象的所有属性和方法,并按照属性和方法分类。
import inspect
# 创建一个函数对象
def my_func():
print("Hello World!")
# 使用inspect模块查看其所有属性和方法
members = inspect.getmembers(my_func)
for mem in members:
if not mem[0].startswith("__") and not inspect.ismethod(mem[1]):
print(mem[0])
输出结果如下所示:
__annotations__
__call__
__class__
__closure__
__code__
__defaults__
__delattr__
...
我们可以看到,该函数对象拥有的所有属性和方法,按照属性和方法分类,并去掉了一些特殊的属性和方法。
以上就是Python中查看对象的所有属性和方法的几种方法,我们可以根据自己的需要选择不同的方式进行查看。