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