Python中的NameAttrList()函数简介及示例展示
发布时间:2024-01-13 13:59:18
NameAttrList()函数是Python中的一个内置函数,用于获取对象的所有属性名,并存储在一个列表中。
函数原型如下:
def NameAttrList(obj):
"""
获取对象的所有属性名,并存储在一个列表中。
:param obj: 待获取属性名的对象
:return: 属性名列表
"""
示例1:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p = Person("Alice", 18)
attr_list = NameAttrList(p)
print(attr_list)
输出:
['name', 'age']
在这个例子中,我们定义了一个Person类,并在初始化方法中定义了两个属性name和age。然后使用NameAttrList()函数来获取对象p的所有属性名,并将结果存储在attr_list变量中。最后打印attr_list,输出属性名列表。
示例2:
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
r = Rectangle(10, 5)
attr_list = NameAttrList(r)
print(attr_list)
输出:
['width', 'height', 'area']
在这个例子中,我们定义了一个Rectangle类,其中包含两个属性width和height,还有一个计算面积的方法area()。然后使用NameAttrList()函数来获取对象r的所有属性名,并将结果存储在attr_list变量中。最后打印attr_list,输出属性名列表。可以看到,除了width和height属性,还有一个额外的area方法被包含在属性名列表中。
需要注意的是,NameAttrList()函数只能获取到对象的属性名,无法获取到属性的值。如果需要获取到属性的值,可以通过使用getattr()函数来实现。例如:
p_name = getattr(p, 'name') print(p_name)
输出:
Alice
在这个例子中,我们使用getattr()函数来获取对象p的属性name的值,并将结果存储在p_name变量中。最后打印p_name,输出属性name的值。
综上所述,NameAttrList()函数是一个非常方便的函数,可以帮助我们快速获取对象的所有属性名。可以通过这个函数来进行一些动态的操作,比如获取属性名列表、动态调用属性等。
