Peter Pearson <pkpearson@nowhere.invalid>: > On Fri, 2 Jun 2017 10:17:05 -0700 (PDT), sean.diza...@gmail.com wrote: > [snip] >>>>> print "foo %s" % 1-2 >> Traceback (most recent call last): >> File "<stdin>", line 1, in <module> >> TypeError: unsupported operand type(s) for -: 'str' and 'int' > > Others have already pointed out that you're assuming the > wrong precedence: > > Say > "foo %s" % (1-2) > not > ("foo %s" % 1) - 2
Python's killer feature is the dependence on indentation, that is, visual grouping. If they look like they belong together, they belong together. Interestingly, however, Python hasn't extended that principle to the expression syntax. You could have: >>> 1 + 2*3 7 >>> 1+2 * 3 9 Marko -- https://mail.python.org/mailman/listinfo/python-list