Python __str__() 方法

str__方法和__init__方法类似,都是一些特殊方法,所以前后都有双下划线,它用来返回对象的字符串表达式
如果要把一个类的实例变成 str,就需要实现特殊方法__str
():

不使用__str__()方法

在这里插入图片描述

  class Student(object):
  def __init__(self,id,name,age):
  self.id=id
  self.name=name
  self.age=age
     
  s=Student(111,"Bob",18)
  print(s)

输出结果:

<main.Student object at 0x0362EBF0>

使用__str__()方法

class Student(object):
def __init__(self,id,name,age):
self.id=id
self.name=name
self.age=age
 
def __str__(self):
return "学号:{}--姓名:{}--年龄{}".format(self.id,self.name,self.age)
   
s=Student(111,"Bob",18)
print(s)

输出结果
学号:111–姓名:Bob–年龄18

案例

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):
   """返回一个对象的描述信息"""
   # print(num)
   return "名字是:%s , 年龄是:%d" % (self.name, self.age)

def eat(self):
    print("%s在吃鱼...." % self.name)

def drink(self):
    print("%s在喝可乐..." % self.name) 


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


小编自己整理了很多Python的资料,欢迎进学习基地688244617
  
    # 创建了一个对象
    tom = Cat("汤姆", 30)
    print(tom)
    --------------------- 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值