PythonPython·

Python的__str__()方法

发布时间:2024-08-29 11:21:32阅读量:40
专业文章
转载请注明来源

Python的__str__()方法

说明:本文章的Python代码测试基于Python3.x


__str__()方法的作用:

  1. 不定义__str__方法,print输出对象实例时,默认打印对象实例的内存地址
  2. 定义__str__方法,print输出对象实例时,自动调用此方法
  3. 返回值必须是字符串
  4. 在Python中,方法名形如__xxx__()的方法表示此方法具有特殊的功能,也称为魔法方法

验证

1. 不定义__str__方法,print输出对象实例时,默认打印的是对象的内存地址

# 创建学生类
class Stu():
    def __init__(self, name, age):
        self.name = name
        self.age = age

s = Stu("张三", 18)
print(s)

输出:

<__main__.Stu object at 0x000002526AF05A60>

2. 定义__str__方法,print输出对象实例时,自动调用此方法

class Stu():
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def __str__(self):
        return "学生" + self.name + "的年龄是" + str(self.age)

s = Stu("张三", 18)
# 打印对象实例
print(s) 

输出:

学生张三的年龄是18

3. 返回值必须是字符串

class Stu():
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def __str__(self):
        return self.age

s = Stu("张三", 18)
print(s)

输出:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
      7 
      8 s = Stu("张三", 18)
----> 9 print(s)

TypeError: __str__ returned non-string (type int)

因为__str__()返回值非字符串,所以报错TypeError: __str__ returned non-string (type int)


原文链接:https://blog.csdn.net/what_how_why2020/article/details/114748495

评论区

暂无评论,来发布第一条评论吧!

弦圈热门内容

Vertically aligning CSS :before and :after content

I am trying to centre the link with the image, but can't seem to move the content vertically in any way.&lt;h4&gt;More Information&lt;/h4&gt; &lt;a href="#" class="pdf"&gt;File Name&lt;/a&gt;The icon is 22 x 22px.pdf { font-size: 12px; } .pdf:before { padding:0 5px 0 0; content: url(../img/icon/pdf_small.png); } .pdf:after { content: " ( .pdf )"; font-size: 10px; } .pdf:hover:after { color: #000; }

数据清洗之异常值处理

在数据清洗过程中,异常值处理是一个非常重要的步骤。异常值,也称为离群值或异常点,是指与大多数观察值明显不同的观察值。这些值可能是由于测量错误、数据录入错误、设备故障或者真实现象的特殊情况而产生的。异常值可能会对数据分析和建模产生负面影响,因此需要进行适当的处理。下面是一些常见的异常值处理方法:删除异常值: 最简单的方法是直接删除异常值。这种方法适用于异常值数量较少、对数据整体影响较小的情况。但是,如果异常值数量较多或者对数据整体影响较大,则不建议使用这种方法。替换异常值: 可以用数据集的其他统计特征值(如均值、中位数、众数)来替换异常值。这种方法可以保持数据集的整体分布特征,并且相对于直接删除异常值,对数据的影响较小。分箱处理: 将数据分成多个箱子(bins),然后用每个箱子的均值或中位数来代替箱子中的异常值。这种方法可以减少异常值对整体数据的影响,并且保持了数据的整体分布特征。基于模型的方法: 可以使用回归、聚类或其他机器学习模型来识别和处理异常值。这些模型可以自动识别数据中的异常值,并提供相应的处理方案。使用离群值检测算法: 可以使用一些专门用于检测异常值的算法,如孤立森林、局部异 ...