function v. method
Bruno Desthuilliers
onurb at xiludom.gro
Thu Jul 20 04:52:56 EDT 2006
danielx wrote:
> Bruno Desthuilliers wrote:
>
>>danielx wrote:
(snip)
>>>which gets me thinking again about
>>>the stuff I self-censored. Since the dot syntax does something special
>>>and unexpected in my case,
>>
>>"unexpected" ? Did you ever wondered how the instance or class was
>>passed as first arg when doing method calls ?
>
>
> Not knowing what's going on during method calls is exactly what
> motivated me to post.
!-)
Ok, so now you have to read about descriptors, __getattribute__ and
__setattr__.
>
>>>why not use some more dot-magic to implement
>>>privates?
>>
>>What for ? What makes you think we need language-inforced access
>>restriction ?
>
>
> I knew someone would bring this up.
Indeed.
> The motivation would not be to
> provide restriction, but to help maintain clean api's. If you intended
> for users to use only a subset of the methods in your class, why not
> help them learn your api by presenting the stuff they can use not along
> side the stuff they should not?
>
> Obviously, such things would be omitted from your docs, but users also
> learn by interacting with Python, which is really one of Python's great
> virtues. When supporting documents aren't sufficient to learn an api
> (I'm sure this never happens, so just humor me), you can always turn to
> interactive Python.
...and source code...
> This is exactly what it's there for. If nothing is
> hidden, a user could be easily mislead to believe he can use a method
> when he really shouldn't.
Single leading underscore means "implementation, don't touch or you're
on your own".
--
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