美文网首页
python cookbook学习笔记(3)

python cookbook学习笔记(3)

作者: KEEEPer | 来源:发表于2017-04-23 22:57 被阅读22次

第8章

连载中......


8.1节

修改实例的字符串表示

class Pair:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __repr__(self):
        return 'Pair({0.x!r}, {0.y!r})'.format(self)

    def __str__(self):
        return '({0.x!s}, {0.y!s})'.format(self)

例子解释:

  • 注意这里的{0.x!r}和.format(self)
  • 这里特殊的格式化码!r表示应该用repr()的输出,而不是默认的str()。

使用案例:

>>> p = Pair(3, 4)
>>> print('p is {0!r}'.format(p))
p is Pair(3, 4)
>>> print('p is {0}'.format(p))
p is (3, 4)
>>>
  • format()函数对应着format()魔法方法
  • repr()函数对应着repr()魔法方法

8.3小节

让对象支持上下文管理协议

  • 当遇到with语句的时候,enter()方法首先被触发执行。with的返回值被放置在as限定的变量当中。之后再执行with代码块内的语句,最后exit()方法被触发执行。

相关文章

网友评论

      本文标题:python cookbook学习笔记(3)

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