Python "why" questions
steve at REMOVE-THIS-cybersource.com.au
Sat Aug 21 10:54:19 CEST 2010
On Fri, 20 Aug 2010 09:21:25 +0200, Kai Borgolte wrote:
> Sorry about my previous posting with wrong references, this one should
> be better.
> Steven D'Aprano wrote:
>>A simple example: Using zero-based indexing, suppose you want to indent
>>the string "spam" so it starts at column 4. How many spaces to you
As AK pointed out, I totally messed up the example by talking about
column 4 then giving an example of column 5. Sigh.
> No, you won't want to indent a string so it starts at column 4. You
> simply want to indent the string by four spaces. Like in PEP 8:
> /Use 4 spaces per indentation level./
I don't see what PEP 8 has to do with anything here. Code is not the only
thing that needs indenting, and 4 was just a mere example chosen at
random. I might be pretty-printing a table of numbers, I might be drawing
a text-based maze, I could be writing a function to left-fill strings
with some arbitrary character, e.g left-fill with asterisks:
Besides, PEP 8 is merely a coding standard, not a law of nature. Some
people might choose other coding standards, such as two-space indents,
eight-spaces, or even (gasp! horror!) tabs.
> And of course your text editor will number the columns beginning with
> one, so the string starts at column 5.
Ah, text editors. I'm glad you mention that...
My text editor of choice is kwrite, which suits me fine, but it has one
obnoxious, painful design choice. It indexes characters from one, so when
I have the cursor at the left-hand margin and haven't typed anything, it
says I'm at position 1. Consequently, if I want to know how many
characters are in a line (and you'd be amazed how frequently I need to do
this!), I can't just glance at the cursor position, I have to remember to
subtract one from whatever the cursor position says.
More information about the Python-list