B Šงษ๋\ซใ@s$dZGdd„dƒZdd„ZeƒdS)zA A demonstration of classes and their special methods in Python. c@sXeZdZdZdd„Zedd„ƒZdd„Zdd „Zd d „Z d d „Z dd„Z dd„Z e Z dS)ฺVecawA simple vector class. Instances of the Vec class can be constructed from numbers >>> a = Vec(1, 2, 3) >>> b = Vec(3, 2, 1) added >>> a + b Vec(4, 4, 4) subtracted >>> a - b Vec(-2, 0, 2) and multiplied by a scalar on the left >>> 3.0 * a Vec(3.0, 6.0, 9.0) or on the right >>> a * 3.0 Vec(3.0, 6.0, 9.0) cGst|ƒ|_dS)N)ฺlistฺv)ฺselfrฉr๚6/opt/alt/python37/lib64/python3.7/Tools/demo/vector.pyฺ__init__sz Vec.__init__cCst|tƒst‚|ƒ}||_|S)N)ฺ isinstancerฺ TypeErrorr)ฺclsrฺinstrrrฺfromlist"s  z Vec.fromlistcCs d dd„|jDƒก}d |กS)Nz, css|]}t|ƒVqdS)N)ฺrepr)ฺ.0ฺxrrr๚ +szVec.__repr__..zVec({}))ฺjoinrฺformat)rฺargsrrrฺ__repr__*sz Vec.__repr__cCs t|jƒS)N)ฺlenr)rrrrฺ__len__.sz Vec.__len__cCs |j|S)N)r)rฺirrrฺ __getitem__1szVec.__getitem__cCs"dd„t|j|jƒDƒ}t |กS)NcSsg|]\}}||‘qSrr)rrฺyrrr๚ 6szVec.__add__..)ฺziprrr )rฺotherrrrrฺ__add__4sz Vec.__add__cCs"dd„t|j|jƒDƒ}t |กS)NcSsg|]\}}||‘qSrr)rrrrrrr;szVec.__sub__..)rrrr )rrrrrrฺ__sub__9sz Vec.__sub__cs‡fdd„|jDƒ}t |กS)Ncsg|] }|ˆ‘qSrr)rr)ฺscalarrrr@szVec.__mul__..)rrr )rrrr)rrฺ__mul__>sz Vec.__mul__N)ฺ__name__ฺ __module__ฺ __qualname__ฺ__doc__rฺ classmethodr rrrrrr ฺ__rmul__rrrrrs rcCsddl}| กdS)N้)ฺdoctestZtestmod)r(rrrฺtestFsr)N)r$rr)rrrrฺs?