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

分类: 计算机技术
推荐阅读:
什么是Cgo 简单的说,就是自C语言出现,已经累积了无数功能强大、性能卓越的C语言代码库,可以说难以替代;在现代编程语言中,如何方便快捷的使用这些C语言库,成了它们一个必须重视的话题。
Python locals()函数 在 Python 中,locals() 是一个内置函数,用于返回当前作用域中的所有局部变量的字典。在函数内部,locals() 返回该函数的局部变量。在模块级别上,locals() 返回全局变量。
C程序判断一个数是否为质数,并打印100以内的质数 在本文中,我们将使用C语言来判断一个整数是否为质数,并打印100以内的所有质数;
Python hasattr()函数 hasattr() 是 Python 内置函数之一,用于检查一个对象是否具有指定的属性或方法。
查询Linux系统是哪个发行版 在Linux系统下,如果你想知道当前系统是哪一个发行版,你可以使用一条命令实现查询:
C语言toupper()函数:将字符转换成大写 toupper()是C语言标准库中的一个函数,用于将一个字符转换成对应的大写形式;如果传入的字符参数是一个小写字母,tolower()函数会返回其对应的大写字母;如果参数不是小写字母,则原封不动的返回;