Python 设置(setattr)、获取(getattr)、检查(hasattr)对象属性函数详解!

yizhihongxing

在 Python 中,我们可以使用三个内置函数 setattr()、getattr()、hasattr() 分别来设置、获取和检查对象的属性。

Python设置对象属性:setattr() 函数

setattr() 函数用于设置对象属性值,语法如下:

setattr(object, name, value)

其中,object 表示要设置属性的对象,name 表示要设置的属性名,value 表示要设置的属性值。

例如,我们定义一个 Person 类,并使用 setattr() 设置其对象 p 的属性 name:

class Person:
    pass

p = Person()
setattr(p, 'name', 'Alice')
print(p.name)  # 输出 'Alice'

Python获取对象属性:getattr() 函数

getattr() 函数用于获取对象的属性值,语法如下:

getattr(object, name[, default])

其中,object 表示要获取属性的对象,name 表示要获取的属性名,default 表示如果属性不存在时返回的默认值,可以省略不写。

例如,我们定义一个 Person 类,并使用 getattr() 获取其对象 p 的属性 name:

class Person:
    name = 'Alice'

p = Person()
print(getattr(p, 'name'))  # 输出 'Alice'

如果获取的属性不存在,可以指定 default 参数返回默认值:

print(getattr(p, 'age', 18)) # 输出 18

Python检查对象属性:hasattr() 函数

hasattr() 函数用于检查对象是否包含指定的属性,语法如下:

hasattr(object, name)

其中,object 表示要检查的对象,name 表示要检查的属性名。

例如,我们定义一个 Person 类,并使用 hasattr() 检查其对象 p 是否包含属性 name:

class Person:
    name = 'Alice'

p = Person()
print(hasattr(p, 'name'))  # 输出 True
print(hasattr(p, 'age'))   # 输出 False

通过使用这三个函数,我们可以在 Python 中轻松地设置、获取和检查对象的属性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 设置(setattr)、获取(getattr)、检查(hasattr)对象属性函数详解! - Python技术站

(0)
上一篇 2023年2月23日 下午8:17
下一篇 2023年2月23日 下午8:28

相关文章

  • Python break的高级用法

    Python中的break关键字是控制流语句之一,用于中断当前循环语句(for循环或while循环)的执行,跳出循环,继续执行循环后面的代码。在这篇文章中,我们将详细说明break关键字的用法和其在不同场景下的使用方法。 Python break的基本用法 break关键字是Python中最基本的控制流语句之一,通常用于终止for循环或while循环。其基本…

    2023年2月17日
    00
  • Python assert断言关键字的作用与用法

    assert是Python中的一个断言语句,用于检查某个特性条件是否为真。 它一般用于调试程序,当程序中有错误时可以快速地检测到。当条件不为真时,assert语句将抛出一个AssertionError异常。 assert语句的语法格式如下: assert condition, message 其中,condition是要检查的条件,如果为假则抛出异常;mes…

    2023年2月16日
    00
  • 编译器与解释器原理

    上一章我们已经了解到,编程语言其实就是一种我们人类易于理解的程序语言。我们用这种编程语言编写的程序就称为源代码。这些源代码是通过翻译器这么个东西,被翻译成二进制指令,从而让计算机能够执行我们的指令。 那么,这其中发挥很大作用的翻译器又是怎么回事? 编译型语言与解释型语言 其实,翻译器不止一种。我们根据翻译器翻译的时机,将它分为了编译器和解释器。 相应的,编程…

    2022年10月25日
    00
  • Python for循环高级用法

    Python是一门简单、易学、高效的编程语言。其中的for循环语句是Python中最常用的循环语句之一。 在这篇文章中,我们将详细介绍Python的for循环及其用法。 Python for循环的基本语法 Python的for循环语法与其他编程语言中的for循环语法略有不同。在Python中,for循环语句的基本语法如下: for <variable&…

    2023年2月17日 Python流程控制
    00
  • Python 赋值运算符

    赋值运算符通常是指将右侧的值赋值给左侧的变量(或者常量)中。这类的赋值运算符用等号“=”表示。 同时,赋值时也可以进行某些算数运算后,再赋值给左侧的变量。比如加减乘除运算、函数调用、逻辑运算等。这类的赋值通常需要结合其他运算符,比如+=、-=、*=、/=等等。 “=”赋值运算符 “=”是 Python 中最常见、最基本的赋值运算符,它直接将右侧的值赋值给左侧…

    Python运算符 2022年12月19日
    00
  • 运行第一个Python程序

    Python作为解释型的编程语言,支持两种编程方式: 交互式编程 源文件编程 交互式编程 交互式编程指的是在命令行窗口打开python运行环境,在运行环境中输入代码,每输入一段代码运行一次程序,就好像跟计算机对话一样,所以称为交互式编程。 源文件编程 源文件编程意思是创建一个.py的文件,文件中可以写入大段的代码,运行时解释器会逐行读取并执行源文件的代码程序…

    2022年11月1日
    00
  • Python的实例方法、静态方法和类方法都有什么区别?

    在Python中,方法分为三种类型:实例方法、静态方法和类方法。它们的区别在于它们的参数和使用方式不同。 实例方法(Instance Method) 实例方法是指在类中定义的方法,可以通过实例调用,第一个参数一般为self。这种方法只能在实例化后才能调用,因为它需要访问实例的属性和方法。实例方法可以修改实例属性,并且可以访问类属性和方法。 示例代码: cla…

    2023年2月21日
    00
  • Python 匿名函数(lambda表达式)用法详解

    在 Python 中,匿名函数也被称为 lambda 函数。它是一种没有名称的函数,可以快速地创建简单的函数。 Python匿名函数语法 Python 中的 lambda 函数的语法是: lambda arguments: expression 其中,arguments 是函数的参数,expression 是函数执行的表达式。 Python匿名函数实例 la…

    2023年2月21日
    00
合作推广
合作推广
分享本页
返回顶部