function v. method

Bruno Desthuilliers onurb at xiludom.gro
Fri Jul 21 08:22:38 EDT 2006


Antoon Pardon wrote:
> On 2006-07-21, fuzzylollipop <jarrod.roberson at gmail.com> wrote:
> 
>>danielx wrote:
>>
(snip)
>>
>>
>>if you prefix with a single underscore, that tells the user, DON'T MESS
>>WITH ME FROM OUTSIDE! I AM AN IMPLEMENTATION DETAIL!
> 
> 
> Personnaly I don't like this convention. 

To bad for you.

> It isn't clear enough.

Oh yes ?

> Suppose I am writing my own module, I use an underscore, to
> mark variables which are an implementation detail for my
> module.
> 
> Now I need to import an other module in my module and need access
> to an implementation variable from that module.
>
> So now I have
> variables with an underscore which have two different meanings:
> 
>   1) This is an implemantation detail of this module, It is the
>      users of my module who have to be extra carefull using it.
> 
>   2) This is an implemantation detail of the other module,
>      I should be extra carefull using it.

Either you imported with the "from othermodule import *" form (which you
shouldn't do), and you *don't* have the implementation of othermodule,
or your used the "import othermodule" form, in which case it's pretty
obvious which names belongs to othermodule.

Have any other, possibly valid, reason ?

> And I find variable starting or ending with an underscore ugly. :-)

Too bad for you. Choose another language then... PHP, Perl, Ruby ?-)

-- 
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb at xiludom.gro'.split('@')])"



More information about the Python-list mailing list