Python中的getattr()方法2025 年 3 月 4 日 | 阅读 5 分钟 在本教程中,我们将学习 Python 的 getattr() 方法以及如何在程序中使用它。 那么,让我们开始吧。 理解 Python 的 getattr() 方法Python getattr() 方法用于检索对象的属性值,并在键不可用时提供一个使用默认值的替代方案。 以下是 getattr() 方法的语法。 语法 参数
返回值 如果属性不存在,则返回默认值,如果属性可用,则返回对象的值。如果未提供默认值或属性不存在,则会引发 AttributeError。 示例 我们在下面的示例中使用了 getattr() 方法来动态访问对象的属性和方法。当与属性或操作未知的对象进行交互时,它提供了灵活性。 输出 10 说明 此代码定义了一个计算器类,并增加了对两个整数进行加法的策略。它创建了 Number cruncher 类的实例 calc。add 方法被动态检索并使用 getattr 存储在 activity 变量中。然后使用参数 4 和 6 调用 activity 变量,从而显示总和 10。这种动态属性访问使得根据提供的函数名进行灵活的函数调用成为可能。 Python 中的 getattr() 方法如何工作?Python 提供了一个内置函数 getattr(),允许您通过名称动态访问对象的属性或方法。为了理解 getattr() 在 Python 中的功能,我们创建了一个名为 GFG 的类,该类有两个类属性:name 和 age。此外,还创建了两个属性名和年龄。接下来,我们创建了一个类对象并使用 getattr() 来检索属性 name 的值。 示例 输出 The name is JavaTPoint 说明 此代码定义了 JTP 类,并具有 name 和 age 两个属性。它创建了 JTP 类的实例。通过内置的 getattr() 方法检索并打印对象的 'name' 属性值。输出显示 "The name is JavaTPoint",说明 getattr() 通过动态访问对象的属性名来提供灵活的属性检索。 关于 getattr() 方法的一些示例演示在找不到命名属性时使用 getattr() 方法的示例此示例使用一个名为 GFG 的类,该类有两个类变量:age,我们将其标记为 gender 属性;以及 gender,该属性在类中不存在,并显示 AttributeError 结果。 示例 输出 Gender is Undefined 说明 在提供的 Python 代码中,定义了一个名为 JTP 的类,其属性为 "name" 和 "age"。创建了 JTP 类对象 'obj'。getattr() 方法在对象 'obj' 中查找属性 'gender'。由于类中未定义 'gender' 属性,因此该方法默认返回 'Undefined'。最终,通过将字符串 "Gender is" 与返回值连接起来并打印到终端,生成输出 "Gender is Undefined"。 演示带参数的 getattr() 方法性能分析的示例在此示例中,我们使用 time 类来演示 getattr() 比标准的 Python 方法需要更多时间。 示例 输出 The name is JavatPoint Time to execute getattr: 0.0008630752563476562 The name is JavatPoint Time to execute conventional method: 0.00018095970153808594 说明 下面的 Python 示例显示了传统属性访问和 getattr() 方法之间的性能比较。JTP 类定义了 name 和 age。可以使用 getattr() 方法动态访问 obj 对象的 name 属性。time 模块中的 time() 函数用于计算 getattr() 和传统属性访问方法运行所需的时间。输出显示传统属性访问比 getattr() 快,并显示了通过 getattr() 获取的名称以及两种方法的耗时。 演示调用 getattr() 方法的示例 在此示例中,我们创建了一个 call 函数和一个 JTP 类。在创建 JTP 类实例后,我们使用对象、函数和参数来使用 Python 的 getarr() 方法。 示例 输出 <__main__.JTP object at 0x7ee77872a650> <class '__main__.JTP'> <bound method JTP.action of <__main__.JTP object at 0x7ee77872a650>> Viren executed with parameters 'argument' 说明 该代码为名为 JTP 的 Python 类初始化了 name 和 age 等变量。它还有一个 action 方法,可以打印参数和对象名称。该代码调用 action 函数,对名为 obj 的对象执行操作,并执行其他命令。 Python getattr() 方法的应用Python 的 getattr() 方法通常在各种场景和应用程序中使用。例如
|
三对角矩阵可以解释为一种矩阵,其中除主对角线、主对角线上方的对角线和主对角线下方的对角线上的元素外,所有元素都为零。示例:A = [[1, 4, 0, 0, 0], ...
阅读 6 分钟
在这个问题中,我们得到两个长度为 N 的数组,其中 N 是我们可用的物品数量。其中一个数组包含单个物品的利润值,第二个数组包含物品的重量。我们还...
阅读 6 分钟
简介 几种用于自动化流程、脚本使用和通用软件开发的重要工具已在不断变化的编程语言领域中发展起来,它们是 PowerShell 和 Python。上述编程语言如今相当普遍,并已在各种...
7 分钟阅读
在本文中,我们将探讨其中一项 Azure 服务,名为。简介数据是新的石油。在大数据领域,管理、治理和分析对决策至关重要的数据至关重要。Azure Purview 最初名为 Azure Data Governance,是一个统一的... .
5 分钟阅读
序列化是将数据结构或对象转换为可以存储或传输并稍后重建的格式的过程。在 Python 中,对象序列化是指将 Python 对象转换为字节流以进行存储……
阅读 3 分钟
? 在接下来的教程中,我们将学习使用 Python 以追加模式打开文件的.方法。但在开始之前,让我们简要讨论一下 Python 中的文件处理。Python 中的文件用于从外部读取和写入...
阅读 3 分钟
在这个问题中,我们得到了一个由 n 个组件组成的网络。这些组件相互连接,并且连接信息以二维数组的形式给出。我们在这个问题中的任务是找出最小数量的...
阅读 8 分钟
引言 在创新的 Web 开发领域,应用程序之间的互操作至关重要。Representational State Transfer (REST) API 已成为此类通信的主要媒介,HTTP 方法在此信息流中起着重要作用。在这些方法中,PUT 方法被证明是...
阅读 4 分钟
? 简介 通过在 Python 的类声明中重载小于 (__lt__) 和大于 (__gt__) 运算符,您可以为它们创建自定义行为。您可以使用这些方法指定比较类实例的顺序。Python 按顺序调用这些方法...
阅读 4 分钟
理解Python中的类类被定义为实例变量的存储,类是用于指定对象类型的类。类用于创建任意数量的对象实例。一个类...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India