On 3/10/2010 8:37 PM, Gabriel Genellina wrote:
En Wed, 10 Mar 2010 11:45:38 -0300, John Posner <jjpos...@optimum.net>
escribió:

As I promised/threatened, here's the *start* of a write-up on
properties, aimed at non-advanced Python programmers:

http://www.jjposner.net/media/python-properties-0310.pdf

I'd use 'function' instead of 'procedure', as this last word is very
uncommon in Python literature (also, "the procedure's return value..." may
look very strange to some people).

I was trying to avoid the function-vs-method swamp, and so I used "procedure". I agree that it was an unfortunate strategy. In a rewrite, I'm using "function" for the most part


I'm unsure if one should make a distinction 'storage attribute' vs.
'method attribute', or even if it makes things actually more clear.

Agreed -- I was trying too hard to be helpful, and introduced unnecessary terminology.

... I
think you could present the motivating idea first ("I want to execute some
code when accessing an attribute") and only later talk about properties

That was my intention. I hope it comes across more clearly in the rewrite.

and descriptors (as written, the reader still doesn't know how to define a
simple property and you've already talked about deleting attributes...)

That doesn't bother me. It's OK to describe capabilities -- but not give how-to's -- in an overview section.



And Edward Cherlin wrote:

I find that it will explain things to those who already understand
most of the concepts. However, I felt as though I were being led
through a maze without knowing where we were headed.

  ...

Who is your expected audience?

I was headed toward having the reader *really* understand the @property decorator. And I was intending that reader to be a non-advanced Python user -- say, at the CS 101 level. I'm now convinced that such a goal was "a bridge too far". It has a lot moving parts, including a prerequisite that is a major topic in itself -- the descriptor protocol. That puts the goal way beyond reach.




There's another draft at:

  http://www.jjposner.net/media/python-properties-0318.pdf


Many thanks for your comments,
John
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to