Python is readable
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Thu Mar 15 20:15:14 EDT 2012
On Fri, 16 Mar 2012 00:46:35 +0100, Kiuhnm wrote:
> On 3/16/2012 0:00, Arnaud Delobelle wrote:
>> On 15 March 2012 22:35, Ben Finney<ben+python at benfinney.id.au> wrote:
>>> Kiuhnm<kiuhnm03.4t.yahoo.it> writes:
>>>
>>>> Moreover, I think that
>>>> if (............
>>>> ............
>>>> ............):
>>>> ............
>>>> ............
>>>> ............
>>>> is not very readable anyway.
>>>
>>> I agree, and am glad PEP 8 has been updated to recommend an extra
>>> level of indentation for continuation, to distinguish from the new
>>> block that
>>> follows<URL:http://www.python.org/dev/peps/pep-0008/#indentation>.
>>
>> Personally I solve this by never writing if conditions that span more
>> than one line. If the worst comes to the worst, I would write:
>>
>> aptly_named_condition = (
>> very long condition
>> that goes over
>> plenty of lines
>> )
>> if aptly_named_condition:
>> do stuff
>
> Will I be able to use extra indentation in Python code? For instance,
>
> res = and(or(cond1,
> cond2),
> cond3,
> or(and(cond4,
> cond5,
> cond6),
> and(cond7,
> cond8)))
Not that exact example, because `and` and `or` are operators, not
functions and you will get a syntax error. Python uses infix notation,
not prefix or postfix:
x and y # yes
and(x, y) # no
x y and # no
But in general, yes, you can use whatever indentation you like inside a
line-continuation bracket:
py> x = [
... 1, 2, 3,
... 4, 5, 6,
... 7, 8, 9,
... 10, 11, 12,
... 13, 14, 15
... ]
py> x
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
Indentation is only syntactically significant in blocks and statements.
> I like it because it reads like a tree.
Funny. I dislike it because it is a tree on its side.
--
Steven
More information about the Python-list
mailing list