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

分类: 计算机技术
推荐阅读:
MIPS指令的类型和格式 MIPS指令集包含三种基本类型的指令:R指令、I指令和J指令。不同类型的指令采用不同的指令格式。
PyQt6和PySide6对比 PyQt6和PySide6都是用于调用Qt6 API的Python库,使用它们可以轻松在Python语言中创建基于Qt的GUI程序;PyQt6和PySide6最大的不同表现在发行许可上;
Rust语言逐行读取文本文件 这是一个使用Rust语言逐行读取文本文件的例子;
Python bytearray()函数 bytearray是 Python 中的一个内置类,用于表示二进制数据。与 bytes 类似,bytearray也是不可变的序列,但是它可以通过索引来修改其中的元素,因此可以用于一些需要修改二进制数据的场合。
Implementation of the USB 2.0 controller not found!解决方案 你可能在使用VirtualBox启动虚拟机系统时碰到“不能为虚拟电脑打开一个新的任务”的错误提示,并提示 Implementation of the USB 2.0 controller not found!
MySQL ABS() 绝对值函数 ABS(x) 函数返回x的绝对值,如果x为NULL则返回NULL;