Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #89594

Re: Not possible to hide local variables

Path csiph.com!usenet.pasdenom.info!nntpfeed.proxad.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!nerim.net!novso.com!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <davea@davea.name>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.001
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'python.': 0.02; 'exercise': 0.04; 'init': 0.07; 'variables': 0.07; 'instance.': 0.09; 'rewrite': 0.09; 'subject:hide': 0.09; 'def': 0.12; 'changes': 0.15; '_do_': 0.16; 'ass': 0.16; 'better:': 0.16; 'hidden,': 0.16; 'hurts': 0.16; 'int):': 0.16; 'length,': 0.16; 'subject:Not': 0.16; 'subject:possible': 0.16; 'undefined)': 0.16; 'underscores': 0.16; 'valueerror,': 0.16; 'wrote:': 0.18; 'this?': 0.23; 'header:User-Agent:1': 0.23; 'header:In-Reply-To:1': 0.27; 'am,': 0.29; 'properties': 0.29; 'raise': 0.29; '(since': 0.31; 'class': 0.32; 'skip:_ 10': 0.34; 'equal': 0.35; 'but': 0.35; 'doing': 0.36; 'should': 0.36; 'convention': 0.38; 'handle': 0.38; 'to:addr:python-list': 0.38; 'that,': 0.38; 'moving': 0.39; 'to:addr:python.org': 0.39; 'length': 0.61; 'charset:windows-1252': 0.65; 'received:74.208': 0.68; 'touch': 0.74; 'private.': 0.84; 'doctor': 0.91; 'edwards': 0.91; 'average': 0.93
Date Wed, 29 Apr 2015 22:31:13 -0400
From Dave Angel <davea@davea.name>
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0
MIME-Version 1.0
To python-list@python.org
Subject Re: Not possible to hide local variables
References <874mo0zoz2.fsf@Equus.decebal.nl> <mhqp33$dpj$2@reader1.panix.com>
In-Reply-To <mhqp33$dpj$2@reader1.panix.com>
Content-Type text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding 7bit
X-Provags-ID V03:K0:B7pofN6exu9p88z59VknIUAtNRqSm498mH5InyXTMV3gnKrVG8u dF8Cy8GBuNGJpcRwcXbbP6m1n0K1yabRTH7ZQUd+i13eAxRXcxkVmJlzK/dymRZzNTJhJl9 BtZeXFaHCJBvZqou7I52SkUmhM9jj8TakQwR0qRtIc9uicJRwaqNHHVXHvI3cmx6Q1ocmya JR9ryY3We9tyLLdWkx1RQ==
X-UI-Out-Filterresults notjunk:1;
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.20+
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.109.1430361094.3680.python-list@python.org> (permalink)
Lines 46
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1430361094 news.xs4all.nl 2899 [2001:888:2000:d::a6]:47892
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:89594

Show key headers only | View raw


On 04/29/2015 10:16 AM, Grant Edwards wrote:
> On 2015-04-28, Cecil Westerhof <Cecil@decebal.nl> wrote:
>> 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?
>
> It's like the punchline to the old doctor joke: if it hurts when you
> do that, then don't _do_ that:
>
>    def __init__(self, length):
>        if type(length) != int:

Better:  if isinstance(length, int):

>            raise ParameterError, 'Parameter has to be an int'
>        if n < 0:

Better:   if length < 0:          (since n is undefined)

>            raise ValueError, 'Parameter should be greater or equal 2'
>        self._length             = length
>        self._old_values         = []
>        self._current_total      = 0
>
> The convention is that properties that start with underscores are
> private.  They're not hidden, but if people touch them and it breaks
> something, it's their fault.  Whether you go all Torvalds on their ass
> for doing so is left as an exercise for the reader.
>


-- 
DaveA

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Not possible to hide local variables Cecil Westerhof <Cecil@decebal.nl> - 2015-04-28 09:33 +0200
  Re: Not possible to hide local variables Ethan Furman <ethan@stoneleaf.us> - 2015-04-28 00:56 -0700
    Re: Not possible to hide local variables Cecil Westerhof <Cecil@decebal.nl> - 2015-04-29 08:16 +0200
      Re: Not possible to hide local variables Michael Torrie <torriem@gmail.com> - 2015-04-29 21:10 -0600
  Re: Not possible to hide local variables Chris Angelico <rosuav@gmail.com> - 2015-04-28 18:06 +1000
    Re: Not possible to hide local variables Cecil Westerhof <Cecil@decebal.nl> - 2015-04-29 08:25 +0200
      Re: Not possible to hide local variables Chris Angelico <rosuav@gmail.com> - 2015-04-29 17:36 +1000
  Re: Not possible to hide local variables Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-04-28 18:37 +1000
    Re: Not possible to hide local variables Chris Angelico <rosuav@gmail.com> - 2015-04-28 18:44 +1000
    Re: Not possible to hide local variables Marko Rauhamaa <marko@pacujo.net> - 2015-04-28 12:20 +0300
    Re: Not possible to hide local variables Cecil Westerhof <Cecil@decebal.nl> - 2015-04-29 08:32 +0200
      Re: Not possible to hide local variables Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-04-30 14:05 +1000
        Re: Not possible to hide local variables Marko Rauhamaa <marko@pacujo.net> - 2015-04-30 08:10 +0300
          Re: Not possible to hide local variables Chris Angelico <rosuav@gmail.com> - 2015-04-30 16:01 +1000
  Re: Not possible to hide local variables Cecil Westerhof <Cecil@decebal.nl> - 2015-04-29 08:14 +0200
  Re: Not possible to hide local variables Grant Edwards <invalid@invalid.invalid> - 2015-04-29 14:16 +0000
    Re: Not possible to hide local variables Dave Angel <davea@davea.name> - 2015-04-29 22:31 -0400
    Re: Not possible to hide local variables Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2015-04-30 08:53 -0400
      Re: Not possible to hide local variables Cecil Westerhof <Cecil@decebal.nl> - 2015-04-30 16:50 +0200

csiph-web