Python getattr()函数

getattr()函数是 Python 内置函数之一,用于获取一个对象的指定属性值。

getattr()函数语法

getattr()函数的语法如下:

getattr(object, name[, default])

其中:

  • object表示要获取属性的对象;
  • name表示要获取的属性的名称;
  • default是可选参数,表示属性不存在时的默认返回值;

注意,当使用getattr()函数获取属性时,如果属性不存在,会触发AttributeError异常,除非提供了default参数作为备选返回值。

getattr()函数示例

下面是一些使用getattr()函数的示例:


class MyClass:

    def __init__(self):
        self.x = 123

    def myprint(self,msg):
        print(msg)

obj = MyClass()

# 获取 obj.x 的值
val = getattr(obj, 'x')
print(val)  # 输出 123

# 获取 obj.myprint
val = getattr(obj,'myprint')
#调用 obj.myprint 函数
val("hello world")

# 获取obj.myprint123 ,属性不存在,缺省值为 print
val = getattr(obj,'myprint123',print)
val("3.14159")

# 获取 obj.y 的值,如果不存在则返回默认值 0
val = getattr(obj, 'y', 0)
print(val)  # 输出 0

# 获取 obj.y 的值,因为不存在,且未定义缺省值
# 将触发 AttributeError 
val = getattr(obj, 'y')

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/python-built-in-functions/python-getattr.html

分类: 计算机技术
推荐阅读:
MySQL函数大全 本教程几乎收罗了MySQL的所有内置函数;其中包括数学函数、日期和时间函数、字符串函数、转换函数、加密函数、压缩函数、XML函数、JSON函数等等。
如何解压和压缩 .tar.gz 文件 .tar.gz 为后缀的文件是一种在Linux和macOS下常见的压缩文件,可直接使用tar命令进行解压或压缩;
Go语言的多返回值 Go语言革命性地在静态开发语言阵营中率先提供了多返回值功能。这个特性让开发者可以从原来用各种比较别扭的方式返回多个值的痛苦中解脱出来,既不用再区分参数列表中哪几个用于输入,哪几个用于输出,也不用再只为了返回多个值而专门定义一个数据结构。
Golang通过使用GetSystemMetrics获取系统的分辨率 本文将使用Go语言调用GetSystemMetrics()函数来获取系统的分辨率。
从Nginx日志中提取UserAgent、IP等信息 有时我们需要用到大量UserAgent信息,而Nginx日志文件中包含了海量真实的UserAgent,从Nginx文件中提取所有UserAgent信息就很有必要;
C语言实现矩阵乘法 本文将使用C语言实现矩阵乘法;分别生成阶为m*n和p*q的两个矩阵,以得到阶为m*q的结果矩阵,其中n等于p。