美文网首页
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