Python __str__ 是什么?2025年1月5日 | 阅读 4 分钟 Python 中一个独特的方法 __str__ 用于定义一个对象的可读性字符串表示形式。此方法与 __init__、__repr__ 和其他“dunder”(双下划线)方法一样,是 Python 数据模型的一个组成部分。对 __str__ 方法有扎实的理解和熟练的掌握对于编写功能齐全且用户友好的类至关重要。 __str__: 它是什么?为了获得对象的字符串表示形式,print() 和 str() 函数会调用 __str__ 方法。 __str__ 的主要目的是提供对象的“漂亮的”或人类可读的表示形式;这对于日志记录和调试非常有用。 这是一个简单的例子,展示了如何使用 __str__ 输入 输出 Person(name=John, age=45) 在此示例中,当调用 print(person) 时,Python 内部使用 __str__ 函数来获取 person 对象的字符串表示形式。 输入 输出 Employee name is John Doe, employee's age is 30 and id is 1024 Employee name is John Doe, employee's age is 30 and id is 1024 Employee name is John Doe, employee's age is 30 and id is 1024 Employee(first_name='John Doe', age=30, employee_id=1024) 在此示例中定义了 Python __str__ 方法,并且可以将结果与前一个示例中的结果进行比较。在这种情况下,__str__ 方法已定义,从调用 __str__、str() 和 print() 方法获得的结果来自已定义的 __str__ 方法。但是,正如您所看到的,即使我们创建了 __str__ 方法,__repr__ 方法的情况也不是如此,因为输出保持不变。 仅定义 __repr__在此示例中,我们将仅定义 __repr__ 方法。让我们看看仅定义 __repr__ 方法而将 __str__ 方法留空的结果。 输入 输出 Employee(first_name=Roy Ridd, years_old=25, employee_id=2024) Employee(first_name=Roy Ridd, years_old=25, employee_id=2024) Employee(first_name=Roy Ridd, years_old=25, employee_id=2024) Employee(first_name=Roy Ridd, years_old=25, employee_id=2024) __str__ 和 __repr__ 之间的区别Python 中另一个可比较的函数名为 __repr__。虽然使用 __str__ 和 __repr__ 都可以返回对象的字符串表示形式,但它们的功能是不同的。 __str__ 的目标是使其易于阅读和使用。它旨在为最终用户或用于清晰简洁地显示信息。 __repr__ 的目的是为开发人员提供清晰实用的信息。它通常提供有关对象的更详细信息,可用于重新创建它。 这是一个说明区别的例子 输入 输出 Rosy, 38 years old Person(name='Rosy', age=38) Python 中 __str__ 的示例现在,让我们研究几个示例,看看 __str__ 方法在不同场景下的工作原理。 例如在此示例中,我们将使用带有用户定义类的 __str__ 方法,因此不会指定 __str__ 和 __repr__ 方法。让我们看以下示例中的这种情况结果 输入 输出 Student name is Dravid, number is 200, age is 27, and grade level is Senior Student name is Dravid, number is 200, age is 27, and grade level is Senior Student name is Dravid, number is 200, age is 27, and grade level is Senior Python 的 __str__ 函数是生成对象可理解的字符串表示形式的有效工具。在类中使用和自定义 __str__ 将极大地提高代码的可读性和可用性,使您和其他人更容易理解和调试代码。无论您设计系统的复杂性如何,__str__ 方法都是编写更清晰、更易于管理的代码的最佳实践。 下一主题Python 中的整数规划 |
First-fit 算法是一种用于内存分配的方法,它将内存分配给请求的进程,以便第一个可用块足够大以容纳。工作原理:First Fit 算法是一种内存分配策略,用于操作系统和计算机系统中来管理...
阅读 4 分钟
在快速变化的的网络安全领域,实践经验对于理解和应对各种挑战至关重要。Python 以其用户友好性和适应性,成为初学者探索网络安全领域的理想编程语言。在本文中,我们将探讨十个...
阅读 4 分钟
在算法和问题解决的世界里,硬币找零问题是一个经典。它是动态规划领域的一个基本问题,动态规划是计算机科学的一个分支,它通过将复杂问题分解为更简单的子问题来解决复杂问题。在本文中,...
阅读 3 分钟
在不断发展的 Web 开发领域,构建健壮的 API 是一项关键技能。Flask,一个轻量级且通用的 Python Web 框架,可以轻松创建可以处理各种任务的 API。API 开发的一个基本方面是返回...的能力。
7 分钟阅读
? Python 和 C 是两种知名的编程语言,具有独特的属性和优势。Python 以其简洁、可读性和高级抽象而闻名,使其成为快速开发和原型设计的绝佳选择。另一方面,C 以其速度而著称...
阅读 6 分钟
什么是累积分布?累积分布是统计分析中的一个重要概念,用于深入了解随机变量的概率分布。Python 中库的通用性使其易于执行累积分布分析。Python 中的 Numpy 和 Scipy...
阅读 4 分钟
Python 是一种通用且广泛使用的编程语言,它提供了丰富的数学函数来促进复杂计算。在这些函数中,degrees() 和 radians() 在角度在度数和弧度之间转换方面起着至关重要的作用。在本综合指南中,我们将深入探讨这些概念……
阅读 3 分钟
在接下来的教程中,我们将学习 Python 的 base64 模块中的 b64decode() 方法。我们还将通过一些示例来了解它的实现。那么,让我们开始吧。理解 base64.b64decode() 方法,以 base64 格式编码的数据可以在 Python 中使用 base64.b64decode() 进行解码……
阅读 4 分钟
数据技术已成为多个行业的基石,革新了公司获取见解和做出明智选择的方式。在提供的众多装备中,Python 在数据科学领域脱颖而出,提供了一种通用的且...
7 分钟阅读
在下一个教程中,我们将学习避免 Python 中循环导入的不同方法。简介 Python 循环导入发生在两个或多个模块相互依赖时。这会导致一个导入循环,阻止代码执行。有几种不同的方法可以...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India