Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!1.eu.feeder.erje.net!feeds.phibee-telecom.net!news.panservice.it!feed.xsnews.nl!border01.ams.xsnews.nl!feeder04.ams.xsnews.nl!feeder02.ams.xsnews.nl!abp001.ams.xsnews.nl!frontend-F09-14.ams.news.kpn.nl From: Cecil Westerhof Newsgroups: comp.lang.python Subject: Not possible to hide local variables Organization: Decebal Computing X-Face: "(y8cC@tg_12{">GF'UXTW]FHI2wMiZNrnf'1EFQ&O#$m:f#O7+7}kR,v+Pti8=Vi/Z"g^?b"E X-Homepage: http://www.decebal.nl/ Date: Tue, 28 Apr 2015 09:33:37 +0200 Message-ID: <874mo0zoz2.fsf@Equus.decebal.nl> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:O2+BtVrTHqD4SZxHEKpXFfZSiBE= MIME-Version: 1.0 Content-Type: text/plain Lines: 21 NNTP-Posting-Host: 81.207.62.244 X-Trace: 1430207072 news.kpn.nl 25010 81.207.62.244@kpn/81.207.62.244:49253 Xref: csiph.com comp.lang.python:89486 If I remember correctly you can not hide variables of a class or make them read-only? I want to rewrite my moving average to python. The init is: def __init__(self, length): if type(length) != int: raise ParameterError, 'Parameter has to be an int' if n < 0: raise ValueError, 'Parameter should be greater or equal 2' self.length = length self.old_values = [] self.current_total = 0 But when someone changes length, old_values, or current_total that would wreck havoc with my class instance. What is the best way to handle this? -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof