[code-quality] [Python-projects] New warning about print parens not a good idea?
Carl Crowder
carl.crowder at gmail.com
Thu Feb 6 07:24:59 CET 2014
I recently asked about the same thing, although there wasn't much discussion as a result.
Pylint is aware of "from __future__ import print_function" and using it will suppress this warning you are seeing. However that is not available for Python 2.5, so it depends on what kind of compatibility you're aiming for, I guess.
Given that the __future__ import exists, my preference is that pylint does warn, as using brackets near a print statement like that could represent a mistake and it's better to warn too much than too little. However I would also like to see a new error code for the print statement alone. Currently the 'superfluous-parens' warning covers all cases including 'if' and 'for' statements etc. A separate error code for the print statement/function would allow people to disable it independently and not remove the other useful warnings.
On 06.02.2014, at 06:48, Alexandre Fayolle ML <afayolle.ml at free.fr> wrote:
> On 06/02/2014 02:13, Dan Stromberg wrote:
>>
>> I noticed recently that pylint has begun warning about use of parens on print statements in Python 2.x code.
>>
>> This seems reasonable on the face of it, except it deters writing code that runs on 2.x and 3.x, unmodified.
>>
>> The error looks like:
>> C: 5, 0: Unnecessary parens after 'print' keyword (superfluous-parens)
>>
>> The offending line looks like:
>> print('hello')
>>
>> To Python 2.x, that is printing the result of a parenthesized expression. To Python 3.x, it is of course a print function.
>>
>> I understand that doing something like:
>> print('number:', 1)
>> ...would be bad in a dual-codebase script, but having a single argument works, and indeed is often a good idea for portability.
>>
>> Thoughts?
>>
>> --
>> Dan Stromberg
>>
>>
>> _______________________________________________
>> Python-Projects mailing list
>> Python-Projects at lists.logilab.org
>> http://lists.logilab.org/mailman/listinfo/python-projects
>
> There is a __future__ import to enable print_function in python 2[67]. I'm not sure if Pylint knows about it, though...
>
> cc-ing code-quality.
>
> Alexandre
>
>
> _______________________________________________
> code-quality mailing list
> code-quality at python.org
> https://mail.python.org/mailman/listinfo/code-quality
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/code-quality/attachments/20140206/c761c2bd/attachment.html>
More information about the code-quality
mailing list