云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

getattr函数python

getattr函数是Python中的一个内置函数,用于获取对象的属性值,它的语法格式如下:

(图片来源网络,侵删)
getattr(object, name[, default])

参数说明:

object:对象,可以是模块、类、实例等。

name:字符串,表示要获取的属性名。

default:可选参数,当指定的属性不存在时,返回该参数的值,如果不提供此参数,将抛出AttributeError异常。

getattr函数的主要作用是从对象中获取指定属性的值,如果属性存在,则返回属性值;如果属性不存在且提供了default参数,则返回default值;如果属性不存在且未提供default参数,则抛出AttributeError异常。

下面通过一些示例来详细讲解getattr函数的使用方法:

1、获取实例属性值

假设我们有一个名为Person的类,包含nameage两个属性:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
p = Person("张三", 30)

我们可以使用getattr函数来获取p实例的nameage属性值:

name_value = getattr(p, "name")
age_value = getattr(p, "age")
print(name_value)  # 输出:张三
print(age_value)   # 输出:30

2、获取类属性值

Person类还包含一个类属性species

class Person:
    species = "人类"
    def __init__(self, name, age):
        self.name = name
        self.age = age
p = Person("张三", 30)

我们可以使用getattr函数来获取Person类的species属性值:

species_value = getattr(Person, "species")
print(species_value)  # 输出:人类

3、获取模块属性值

假设我们有一个名为math_utils的模块,其中定义了一个函数add

math_utils.py
def add(a, b):
    return a + b

我们可以使用getattr函数来获取math_utils模块的add函数:

import math_utils
add_function = getattr(math_utils, "add")
result = add_function(1, 2)
print(result)  # 输出:3

4、使用default参数避免AttributeError异常

假设我们要获取一个不存在的属性gender,可以提供一个default参数来避免抛出AttributeError异常:

gender_value = getattr(p, "gender", "未知")
print(gender_value)  # 输出:未知

getattr函数是一个非常实用的Python内置函数,可以帮助我们方便地获取对象的属性值,在使用时,需要注意属性名的正确性以及是否需要提供default参数。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《getattr函数python》
文章链接:https://www.yunzhuji.net/jishujiaocheng/19145.html

评论

  • 验证码