[issue11318] Python 3.2 FAQ example code typo?

2011-02-26 Thread Boštjan Mejak

Boštjan Mejak bostjan.me...@gmail.com added the comment:

Understood. Now I get it. If you create an instance c of the class C (so c 
= C() ) and try to get the variable count from that class, then c.count is 
the same reference as C.count.

Please make that clearer in the FAQ by saying If you create an instance c of 
the class C, then c.count is the same reference as C.count.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Boštjan Mejak

New submission from Boštjan Mejak bostjan.me...@gmail.com:

I have found a possible typo in an example code of Python 3.2. It's located on 
page 32 in the PDF version of the FAQ document. The code is:

class C:
count = 0 # number of times C.__init__ called

def __init__(self):
C.count = C.count + 1

def getcount(self):
return C.count # or return self.count

The code block of the __init__ method is the thing that has the typo. Shouldn't 
 C.count = C.count + 1  be  c.count = C.count + 1 ?  Because the text after 
this code example says:

c.count also refers to C.count for any c such that isinstance(c, C) holds /.../.

How can c.count also refer to C.count if there is no c.count in the present 
code example in the FAQ of Python 3.2?

If this is a typo, please fix it for Python 3.2 and also for other Python 
versions with the same typo.

Else if this is not a typo, explain how can c.count refer to C.count if there 
is no c.count in the code example.

--
assignee: docs@python
components: Documentation
messages: 129357
nosy: Retro, docs@python
priority: normal
severity: normal
status: open
title: Python 3.2 FAQ example code typo?
versions: Python 3.2

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread R. David Murray

R. David Murray rdmur...@bitdance.com added the comment:

Read a little further:

Caution: within a method of C, an assignment like ``self.count = 42`` 
creates a new and unrelated instance named count in ``self``'s own dict.

That is, c.count refers to C.count right up until the point where c.count is 
assigned a value.  So, c.count = c.count + 1 will add one to the current value 
of C.count, and assign it to the *instance* variable c.count.  c.count at that 
point no longer refers to the *class* variable C.count.  Thus your change to 
the __init__ function would completely defeat the purpose of the example (which 
is to show how to use a *class* variable.

If you can suggest a concise wording that would have made this clearer to you, 
we can consider a doc patch.

--
nosy: +r.david.murray
type:  - behavior

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread R. David Murray

R. David Murray rdmur...@bitdance.com added the comment:

Hmm.  Rereading your message, is seems like you just didn't understand the 
statement c.count refers to C.count for any  That is a statement about 
how the language behaves.  If there is not yet an instance variable 'count', 
but a class variable 'count' exists, then the value of the class variable is 
used when c.count is evaluated.  A class is a two level nested name space with 
a couple of special properties.

I don't really see any way to make that statement clearer.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Boštjan Mejak

Boštjan Mejak bostjan.me...@gmail.com added the comment:


 Caution: within a method of C, an assignment like ``self.count = 42``
 creates a new and unrelated instance named count in ``self``'s own dict.

More clear is to say *Caution: within a method of class C, an assignment
like ``self.count = 42`` creates a new and unrelated instance named count
in ``self``'s own dict.*
*
*

--
Added file: http://bugs.python.org/file20888/unnamed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___blockquote class=gmail_quote style=margin-top: 0px; margin-right: 0px; 
margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; 
border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 
1ex; 
span class=Apple-style-span style=border-collapse: collapse; color: rgb(32, 
32, 32); font-family: #39;Droid Sans#39;, arial, sans-serif; font-size: 13px; 
Caution: within a method of C, an assignment like ``self.count = 42`` creates 
a new and unrelated instance named quot;countquot; in ``self``#39;s own 
dict./span/blockquote
divbr/divdivMore clear is to say span class=Apple-style-span 
style=border-collapse: collapse; color: rgb(32, 32, 32); font-family: 
#39;Droid Sans#39;, arial, sans-serif; font-size: 13px; iCaution: within 
a method of class C, an assignment like ``self.count = 42`` creates a new and 
unrelated instance named quot;countquot; in ``self``#39;s own 
dict./i/span/div
divspan class=Apple-style-span style=border-collapse: collapse; color: 
rgb(32, 32, 32); font-family: #39;Droid Sans#39;, arial, sans-serif; 
font-size: 13px; ibr/i/span/div
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Boštjan Mejak

Boštjan Mejak bostjan.me...@gmail.com added the comment:

So you're saying that if a class' name is C, then c.count is the same as
C.count? I thought Python is case-sensitive. You know: c (small letter c) is
not equal to C (big letter C) in Python. I don't understand what you mean by
c.count because my intepreter always throws an exception that c is not
defined if I feed it with this code example and doc.count

--
Added file: http://bugs.python.org/file20890/unnamed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___So you#39;re saying that if a class#39; name is C, then c.count is the same 
as C.count? I thought Python is case-sensitive. You know: c (small letter c) is 
not equal to C (big letter C) in Python. I don#39;t understand what you mean 
by c.count because my intepreter always throws an exception that c is not 
defined if I feed it with this code example and do   gt;gt;gt; c.count
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Georg Brandl

Georg Brandl ge...@python.org added the comment:

Now it's clear that David is right -- what c refers to is defined in this 
very sentence.

--
nosy: +georg.brandl
resolution:  - invalid
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Boštjan Mejak

Boštjan Mejak bostjan.me...@gmail.com added the comment:

I don't understand it. My bad. Please explain to me exactly what c refers
to.

--
Added file: http://bugs.python.org/file20891/unnamed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___I don#39;t understand it. My bad. Please explain to me exactly what 
quot;cquot; refers to.
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread R. David Murray

R. David Murray rdmur...@bitdance.com added the comment:

Please consult the python tutor's list, the bug tracker is not the place to get 
introductory help with Python.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Boštjan Mejak

Boštjan Mejak bostjan.me...@gmail.com added the comment:

How awful! A little pointer to the tutorial where this is explained would be
also quite smashing.

--
Added file: http://bugs.python.org/file20893/unnamed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___How awful! A little pointer to the tutorial where this is explained would be 
also quite smashing.
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Boštjan Mejak

Boštjan Mejak bostjan.me...@gmail.com added the comment:

c.count also refers to C.count  Where in the code is c.count? Please
explain this for the sake of really closing this issue.

--
Added file: http://bugs.python.org/file20896/unnamed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___quot;span class=Apple-style-span style=border-collapse: collapse; color: 
rgb(32, 32, 32); font-family: #39;Droid Sans#39;, arial, sans-serif; 
font-size: 13px; c.count also refers to C.countquot;  Where in the code is 
quot;c.countquot;? Please explain this for the sake of really closing this 
issue./span
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Éric Araujo

Changes by Éric Araujo mer...@netwok.org:


Removed file: http://bugs.python.org/file20888/unnamed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Éric Araujo

Changes by Éric Araujo mer...@netwok.org:


Removed file: http://bugs.python.org/file20890/unnamed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Éric Araujo

Changes by Éric Araujo mer...@netwok.org:


Removed file: http://bugs.python.org/file20891/unnamed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Éric Araujo

Changes by Éric Araujo mer...@netwok.org:


Removed file: http://bugs.python.org/file20893/unnamed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Éric Araujo

Changes by Éric Araujo mer...@netwok.org:


Removed file: http://bugs.python.org/file20896/unnamed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Éric Araujo

Éric Araujo mer...@netwok.org added the comment:

If the tutorial is not clear enough, try for example 
http://diveintopython.org/object_oriented_framework/class_attributes.html.  
Please ask on a suitable venue if you don’t understand instead of this tracker.

(Please don’t send HTML email to this tracker, it creates false attachments.)

--
nosy: +eric.araujo

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Boštjan Mejak

Boštjan Mejak bostjan.me...@gmail.com added the comment:

Eric, the thing I don't understand is why is there that c.count thing. How is 
it possible for c.count to be the same reference as C.count? Where is c 
defined?

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Éric Araujo

Éric Araujo mer...@netwok.org added the comment:

What this part means is: “If you create an instance of C named c, and get 
c.count, it will get the attribute count defined on C.”  IOW: You can get a 
class variable from any instance.

In the example, the code in __init__ cannot assign to self.count, because it 
wants to increment the attribute on the class, not on the instance.  This is 
very well explained in Dive Into Python.

Please experiment in a shell and ask on appropriate venues after this message.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11318] Python 3.2 FAQ example code typo?

2011-02-25 Thread Éric Araujo

Changes by Éric Araujo mer...@netwok.org:


--
assignee: docs@python - 
nosy:  -docs@python, eric.araujo

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11318
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com