| n | _obj = object() | n | _sentinel = object() |
| | | |
| class Sequence: | | class Sequence: |
| | | |
| n | def __init__(self, initial=_obj): | n | def __init__(self, value=_sentinel): |
| if initial is _obj: | | if value is _sentinel: |
| self._seq = [] | | self.sequence = [] |
| elif hasattr(initial, '__getitem__'): | | elif hasattr(value, '__getitem__'): |
| self._seq = initial | | self.sequence = value |
| else: | | else: |
| n | self._seq = [initial] | n | self.sequence = [value] |
| | | |
| @property | | @property |
| def sequence(self): | | def sequence(self): |
| n | return self._seq | n | return self._sequence |
| | | |
| @sequence.setter | | @sequence.setter |
| def sequence(self, value): | | def sequence(self, value): |
| if hasattr(value, '__getitem__'): | | if hasattr(value, '__getitem__'): |
| n | self._seq = value | n | self._sequence = value |
| else: | | else: |
| n | self._seq = [value] | n | self._sequence = [value] |
| | | |
| @sequence.deleter | | @sequence.deleter |
| def sequence(self): | | def sequence(self): |
| t | self._seq = type(self._seq)() | t | self._sequence = type(self._sequence)() |