__str__

前言

  • 直接打印对象的实现方法,__ str__是被print函数调用的。打印一个实例化对象时,打印的其实时一个对象的地址。而通过__str__()函数就可以帮助我们打印对象中具体的属性值,或者你想得到的东西。
  • 在Python中调用print()打印实例化对象时会调用__str__()。如果__str__()中有返回值,就会打印其中的返回值。

代码解释

class Cat:
    """定义一个猫类"""

    def __init__(self, new_name= "汤姆", new_age= 20):
        """在创建完对象之后 会自动调用, 它完成对象的初始化的功能"""
        self.name = new_name
        self.age = new_age  # 它是一个对象中的属性,在对象中存储,即只要这个对象还存在,那么这个变量就可以使用
        # num = 100  # 它是一个局部变量,当这个函数执行完之后,这个变量的空间就没有了,因此其他方法不能使用这个变量

    def __str__(self):
        """返回一个对象的描述信息"""
        # print(num)
        return "名字是:%s , 年龄是:%d" % (self.name, self.age)
		
# 创建了一个对象
tom = Cat("汤姆", 30)
print(tom)

###输出结果:
名字是:汤姆 , 年龄是:30

当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据。__str__方法需要返回一个字符串,当做这个对象的描写。

posted @ 2022-05-05 21:43  大切切  阅读(44)  评论(0编辑  收藏  举报