target.method(argument, another)
Here, the operation is `method` and the operands are `target`, `argument`, and `another. Note that the operation appears in the middle of the operands. target.method(argument, another)
Here, the operation is `method` and the operands are `target`, `argument`, and `another. Note that the operation appears in the middle of the operands.Even then, it's still not a prefix operation. It's postfix.
Things like this are mentioned, in some detail, in the O'Reilly book Python in a Nutshell, IIRC, in the first edition, which is what I have.
Couldn't quite wrap my head around all the material in that chapter, TBH.
But I still like to read about such stuff, and I do understand bits and pieces of it.
Note that the "(" in (a, b) is also an operator. (There is some special parsing because otherwise you could do things like args = (1, 2, b=3); target.method args.)
As to whether <thing from target.method><thing from (a, b)> is postfix, I'm not sure how you get there. Yes, there's an implicit funcall at the end, but there's something similar with (+ a b) or ((. target method) (arglist a b)) and we wouldn't call them postfix.
var x = 123
print(-x.abs())
Or even: print(-123.abs())
What do those print? Do they print the same thing?