python中 __str__的用法

说明: 返回一个对象的描述信息
  如果理解不了上一句,就请看例子
复制代码
class Cat:
    """定义一个猫类"""

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

    def __str__(self):
        """返回一个对象的描述信息"""
    
        return "名字是:%s , 年龄是:%d" % (self.name, self.age)
        
    def eat(self):
        print("%s在吃鱼...." % self.name)

    def introduce(self):
       
        print("名字是:%s, 年龄是:%d" % (self.name, self.age))


# 创建了一个对象
xiaoming = Cat("小明", 30)
print(xiaoming)

结果:
  1.使用__str__方法

   2.不使用__str__方法

复制代码

  总结:

  •   在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法
  •   当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据
  •   __str__方法需要返回一个字符串,当做这个对象的描述。
posted @   无渊  阅读(314)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
返回顶端
点击右上角即可分享
微信分享提示
never give up