491
12
장
시퀀스 특별 메서드
해시 테스트::
>>> v1 = Vector([3, 4])
>>> v2 = Vector([3.1, 4.2])
>>> v3 = Vector([3, 4, 5])
>>> v6 = Vector(range(6))
>>> hash(v1), hash(v3), hash(v6)
(7, 2, 1)
CPython 32비트 버전과 64비트 버전에서 생성한 비정수형 해시값은 대부분 다르다::
>>> import sys
>>> hash(v2) == (384307168202284039 if sys.maxsize > 2**32 else 357915986)
True
2차원 직교좌표에 대한 ``format()`` 테스트::
>>> v1 = Vector([3, 4])
>>> format(v1)
‘(3.0, 4.0)’
>>> format(v1, ‘.2f’)
‘(3.00, 4.00)’
>>> format(v1, ‘.3e’)
‘(3.000e+00, 4.000e+00)’
3차원과 7차원 직교좌표에 대한 ``format()`` 테스트::
>>> v3 = Vector([3, 4, 5])
>>> format(v3)
‘(3.0, 4.0, 5.0)’
>>> format(Vector(range(7)))
‘(0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0)’
2차원, 3차원, 4차원 구면좌표에 대한 ``format()`` 테스트::
>>> format(Vector([1, 1]), ‘h’) # doctest:+ELLIPSIS
‘<1.414213..., ...