【发布时间】:2016-11-22 12:48:22
【问题描述】:
我创建了一个 tuple 包装类,并且元组不支持项目突变。
我应该离开__setitem__ 和__delitem__ 实现还是实现这些方法,例如下面(因此属于拒绝遗赠代码的味道)?哪种方法更 Pythonic?在这种情况下自定义异常不是更好吗?
def __setitem__(self, key, value):
"""
:raise: Always.
:raises: TypeError
"""
self.data_set[key] = value # Raise from tuple.
def __delitem__(self, key):
"""
:raise: Always.
:raises: TypeError
"""
raise TypeError("Item deletion is unsupported") # Custom exceptions thrown.
【问题讨论】:
标签: python coding-style magic-methods