首页 > 其他 > 详细

魔术方法

时间:2019-03-03 14:31:31      阅读:163      评论:0      收藏:0      [点我收藏+]

1、__str__ : 将某一个类型强制转换为字符串型。

  我们可以使用 __str__ 和 __repr__ 方法定义类到字符串的转化方式,而不需要手动打印某些属性或是添加额外的方法。

  一般来说,__str__ 的返回结果在于强可读性,而 __repr__ 的返回结果在于准确性。

  我们至少需要添加一个 __repr__ 方法来保证类到字符串的自定义转化的有效性,__str__ 是可选的。因为默认情况下,在需要却找不到 __str__ 方法的时候,会自动调用 __repr__ 方法。

技术分享图片
# 如果要把一个类的实例变成 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 0x0000024F21058208>

# -----------------------------------------------------------------------

# 使用__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)
        __repr__ = __str__
        ‘‘‘
        __repr__ = __str__ 使用时可保证在控制台>>> print() 时 任然输出
        学号:111--姓名:Bob--年龄18
        ‘‘‘

s=Student(111,"Bob",18)
print(s)

# 输出结果:
学号:111--姓名:Bob--年龄18
View Code

 

 

  

魔术方法

原文:https://www.cnblogs.com/renshaoqi/p/10465014.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!