[Python-ideas] Parenthesized Compound With Statement
Barry Warsaw
barry at python.org
Wed Jul 3 17:48:07 CEST 2013
On Jul 03, 2013, at 08:38 AM, Guido van Rossum wrote:
>Clearly some people have interpreted this dogmatically as "never use
>backslashes", so I think we should explicitly update the PEP with more
>moderate language and an example.
How about this:
diff -r bd8e5c86fb27 pep-0008.txt
--- a/pep-0008.txt Wed Jul 03 00:44:58 2013 +0200
+++ b/pep-0008.txt Wed Jul 03 11:46:07 2013 -0400
@@ -158,9 +158,19 @@
line continuation inside parentheses, brackets and braces. Long lines
can be broken over multiple lines by wrapping expressions in
parentheses. These should be used in preference to using a backslash
-for line continuation. Make sure to indent the continued line
-appropriately. The preferred place to break around a binary operator
-is *after* the operator, not before it. Some examples::
+for line continuation.
+
+Backslashes may still be appropriate at times. For example, long,
+multiple ``with``-statements cannot use implicit continuation, so
+backslashes are acceptable::
+
+ with open('/path/to/some/file/you/want/to/read') as file_1, \
+ open('/path/to/some/file/being/written', 'w') as file_2:
+ file_2.write(file_1.read())
+
+Make sure to indent the continued line appropriately. The preferred
+place to break around a binary operator is *after* the operator, not
+before it. Some examples::
class Rectangle(Blob):
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20130703/7b2600eb/attachment.pgp>
More information about the Python-ideas
mailing list