Experiences/guidance on teaching Python as a first programming language

Ned Batchelder ned at nedbatchelder.com
Thu Dec 12 11:58:06 EST 2013


On 12/12/13 11:20 AM, wxjmfauth at gmail.com wrote:
> Le jeudi 12 décembre 2013 15:47:40 UTC+1, Chris Angelico a écrit :
>> On Fri, Dec 13, 2013 at 1:34 AM,  <wxjmfauth at gmail.com> wrote:
>>
>>> Le jeudi 12 décembre 2013 11:28:35 UTC+1, Chris Angelico a écrit :
>>
>>>> On Thu, Dec 12, 2013 at 8:17 PM,  <wxjmfauth at gmail.com> wrote:
>>
>>>>
>>
>>>>> Windows, Py2.(7), ascii. It is not a secret Python uses
>>
>>>>> ascii for the representation.
>>
>>>>
>>
>>>> Actually no, it doesn't.
>>
>>>
>>
>>>>>> sys.version
>>
>>> '2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)]'
>>
>>>>>> sys.stdout.encoding
>>
>>> 'cp1252'
>>
>>
>>
>> What has this to do with ASCII or with Python's internal
>>
>> representation? All you've proven is that you can convert the repr of
>>
>> a string back into a byte-string, by replacing "\\xa9" with "\xa9",
>>
>> and then shown that you can successfully render that as CP-1252 and it
>>
>> displays as a copyright symbol. Meanwhile when I try the same thing on
>>
>> my Windows box, the default encoding is cp437, so it throws. Proves
>>
>> nothing about ASCII, as neither of those encodings is ASCII, and A9
>>
>> does not decode as ASCII.
>>
>>
>
>
> Are you understanding Python by chance? print, __repr__, __str__,
> sys.std*.encoding, ...
> Are you understanding Windows? CHCP
> Are you understanding the coding of the characters? cp1252, cp850, cp437, ...
>

Before we talk about Unicode, we should talk about the process of 
convincing people of things.

Asking questions won't convince anyone of anything.  If you have new 
information, then present it to us.  Presenting it means: show some 
code, show some bad outcome, and then explain what you you have 
demonstrated.  Be specific about what problem you are showing.

You said "Python uses ASCII."  Then you showed us Python code with 
non-ASCII characters.  We are confused what you are trying to tell us.

Python 2 uses byte strings.  Those byte strings can contain any bytes, 
conforming to any encoding the developer desires.  You asserted that it 
uses ASCII.  That is incorrect.

We have discussed Unicode with you enough to believe that we are not 
going to agree with you.  You hold a (very) minority view about what 
Python does with text, and you are not able to convince people of your 
view.  Isn't that frustrating?  Perhaps you need a new approach.

> Python (2) is managing 	all this very well. Unfortunately, not in
> a friendly way.
>
> jmf
>


-- 
Ned Batchelder, http://nedbatchelder.com




More information about the Python-list mailing list