A small question about PEP 8

Xue Fuqiao xfq.free at gmail.com
Tue Jul 9 06:47:18 EDT 2013


On Mon, Jul 8, 2013 at 6:39 PM, Joshua Landau
<joshua.landau.ws at gmail.com> wrote:
> On 8 July 2013 00:32, Xue Fuqiao <xfq.free at gmail.com> wrote:
>> I'm a Python newbie and just started reading PEP 8.  PEP 8 says:
>>
>> -----------------------------------------------------------------------
>> |The closing brace/bracket/parenthesis on multi-line constructs may
>> |either line up under the last item of the list, as in:
>> |
>> |my_list = [
>> |    1, 2, 3,
>> |    4, 5, 6,
>> |    ]
>> |result = some_function_that_takes_arguments(
>> |    'a', 'b', 'c',
>> |    'd', 'e', 'f',
>> |    )
>> -----------------------------------------------------------------------
>>
>> I think the last item in my_list/result is 6/'f', respectively.  So why
>> doesn't the bracket/paren line up _under_ the last item?  ISTM the code
>> isn't consistent with the description.
> You will grow to be a wonderful pedant. What it means is that the
> indentation will match the last one. Imagine:
>
> """
> a_wonderful_set_of_things = {
>     bannanas_made_of_apples,
>     chocolate_covered_horns,
>     doors_that_slide,
>     china_but_on_the_moon,
>     buffalo_with_windy_hair,
>     not_missing_an_end_brace
> """¹
>
> Now, there are several places you can put the end brace. You can (be a
> massive fool and) put it after the last item:
>
> """
> a_wonderful_set_of_things = {
>     ...,
>     not_missing_an_end_brace}
> """
>
> You can also (be a fool and) put it at the same *indentation*:
>
> """
> a_wonderful_set_of_things = {
>     ...,
>     not_missing_an_end_brace
>     }
> """
>
> Or you can (be sane) and put it at no indentation:
>
> """
> a_wonderful_set_of_things = {
>     ...,
>     not_missing_an_end_brace
> }
> """
>
> Theoretically, there are more places you could put it (but we won't go
> there... *shudder*).
>
> The second of these is the one that PEP 8 was trying to explain. I
> agree wording could be improved, but hey. You can file a bug report at
> bugs.python.org if you care enough.

Done as issue 18412.

--
Best regards, Xue Fuqiao.



More information about the Python-list mailing list