初始属性显示-- __str__

本文介绍了在Python中如何通过定制类的方法来实现更友好的对象显示。重点讲解了__str__和__repr__方法的区别及应用,使得创建的类实例在调试过程中能够直观地展示其属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建类的实例时有时候需要给类传入参数,如何看到自己传入的参数是否准确并且方便,可以使用str

class Student(object):                         #类
    def __init__(self,year,month,day):        #初始属性
        self.year=year
        self.month=month
        self.day=day
    def __str__(self):               #将初始属性打印出来(返回用户看到的字符串)
        return 'Student object :year-month-day :%d-%d-%d'%(self.year,self.month,self.day)
    __repr__=__str__            #将初始属性打印出来(调试服务)             

输出:

>>> s=Student(2017,10,31)
>>> s
Student object :year-month-day :2017-10-31

如果没有repr=str

>>> class Student(object):
    def __init__(self,year,month,day):
        self.year=year
        self.month=month
        self.day=day
    def __str__(self):
        return 'Student object :year-month-day :%d-%d-%d'%(self.year,self.month,self.day)


>>> s=Student(2017,10,31)
>>> s
<__main__.Student object at 0x0000000003146D30>

因为python 首先是将队形转化为共加湿器读取的形式,也就是先调用repr,而str是将对象转化为适于人阅读的形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值