Python "why" questions
Steven D'Aprano
steve at REMOVE-THIS-cybersource.com.au
Sat Aug 21 04:54:19 EDT 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
>>prepend?
As AK pointed out, I totally messed up the example by talking about
column 4 then giving an example of column 5. Sigh.
0123456789
spam
> 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:
01234567
****spam
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.
--
Steven
More information about the Python-list
mailing list