美文网首页
python类与对象详解(1):内建方法重写

python类与对象详解(1):内建方法重写

作者: KillerManA | 来源:发表于2016-04-13 08:03 被阅读659次

    这一章我们通过一系列的问题及例子,一步步的来理解python中类与对象的方方面面,在章节里面也会穿插一些设计模式,调试技巧等,欢迎大家阅读转载,不足之处,还请指出。

    如果你有一些经验,那么一定知道有时候我们为了简化一些过程会重写类的一些方法,我们现在要用python来进行修改实例的字符串表示:
    在进行代码实例之前,先来了解一下python中的一个函数eval()函数,这个函数可以进行字符串到实例的转化,repr函数可以进行实例到字符串的转换,可以这样理解:eval(repr(x)) == x

    class Pair:
        def __init__(self, x, y):
            self.x = x
            self.y = y
        
        def __repr__(self):
            return 'Pair(%r, %r)' % (self.x, self.y)
    
        def __str__(self):
            return '(%s, %s)'.format(self.x, self.y)
    

    运行结果

    >>> p = Pair(3,4)
    >>> p
    Pair(3, 4)
    >>> print(p)
    (3, 4)
    

    说明一下这个小例子的运行原理:当我们直接打印实例p时,会默认调用repr()函数进行输出,当我们使用print打印的时候,其也是默认调用str()内建函数进行输出的。

    里面需要注意以下点:

    • repr函数返回需要用%r来表示应该使用repr()输出。

    相关文章

      网友评论

          本文标题:python类与对象详解(1):内建方法重写

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