New submission from Abafei <aba...@gmail.com>:

I'm not sure if this is a bug per se, since I don't think pretending operators 
are callable is in the docs, but:

pretending an operator (at least the "not" operator) is callable, like so:
not(True)

can be surprising:
>>> (not 1) == 9
False

>>> not(1) == 9
True


Now, I know this is valid because Python is very lenient about whitespace (and 
the parenthenses are really just  "eval '1' first") , but, this is still 
confusing behavior to someone who does not know about that.

I think the same problem may be possible in the case of statements.

A possible solution is to make sure there is at least some white-space between 
"alphabetical" operators and statements.

----------
messages: 129933
nosy: abafei
priority: normal
severity: normal
status: open
title: pretending the "not" operator is a function behaves surprisingly
type: behavior
versions: Python 2.6

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue11381>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to