[Tutor] Fwd: grave confusion
Danny Yoo
dyoo at hashcollision.org
Mon Oct 6 20:25:41 CEST 2014
---------- Forwarded message ----------
From: Danny Yoo <dyoo at hashcollision.org>
Date: Mon, Oct 6, 2014 at 11:23 AM
Subject: Re: [Tutor] grave confusion
To: Clayton Kirkwood <crk at godblessthe.us>
> Well the guide certainly doesn't suggest that the read is one character at a time, it implies one line at a time. However, it's hard to argue against the one character because that is what the output is looking at. I thought it would read one line in per iteration. Why didn't they call it readchar()?
I think you might still be confused.
Here, let's look at it again from a different angle.
####################
for line in file.readline():
...
####################
I'm going to make a small change to this:
####################
seq = file.readline()
for line in seq:
...
####################
I've introduced a temporary variable. This should preserve the rough
meaning by just giving a name to the thing we're walking across.
One more change:
####################
seq = file.readline()
for thing in seq:
...
####################
Again, meaning preserving, if we change every instance of "line" in
"..." with "thing". But "thing" is a poor name for this as well.
What's its type?
If seq is a string, then thing has to be a character. Let's change
the code one more time.
######################
seq = file.readline()
for ch in seq:
...
#######################
Contrast this with:
#######################
for line in file.readlines():
...
#######################
This has a *totally* different meaning. The "delta" is a single
character in terms of the physical source code, but in terms of what
the program means, high impact.
More information about the Tutor
mailing list