欢迎访问宙启技术站
智能推送

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()函数是一个非常方便的函数,可以帮助我们快速获取对象的所有属性名。可以通过这个函数来进行一些动态的操作,比如获取属性名列表、动态调用属性等。