美文网首页
python编程 魔法函数之__str__和__repr__

python编程 魔法函数之__str__和__repr__

作者: python_yu | 来源:发表于2018-12-05 16:08 被阅读0次
webwxgetmsgimg.jpeg

前言

先推荐一首歌 二虎的你一定要幸福


进入正题

  • reprstr这两个方法都是用于显示的,str是面向用户的,而repr面向程序员。

面试命中率很高的题,废话不说上代码

class MyString(object):

    def __init__(self, obj):
        """
        c初始化
        :param obj:  iterable
        """
        self.obj = obj

    def __iter__(self):
        return iter(self.obj)

    def __str__(self):
        return "这是str函数返回的,传入的对象是: %s"%self.obj

    def __repr__(self):
        return "这是repr函数返回的,传入的对象是: %s"% self.obj

1 先说str 是在print 时候解释器默认调用的,你可以自定义该方法,你可以天马行空的写入内容
调用之后

my_string = MySting(list(range(10)))
print my_string

输出结果

这是str函数返回的,传入的对象是: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

2 再说repr 是在交互环境打印友好信息的

In [1]: from iters import *

In [2]: my_iter = MyIter(list(range(10)))

In [3]: my_iter

Out[3]: 这是repr函数返回传入的对象是 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

相关文章

网友评论

      本文标题:python编程 魔法函数之__str__和__repr__

      本文链接:https://www.haomeiwen.com/subject/eblwcqtx.html