On 14/10/2016 01:59, sohcahto...@gmail.com wrote:
On Thursday, October 13, 2016 at 4:06:36 PM UTC-7, pozz wrote:
Are the things exactly how I understood, or do I miss something in Python?
As others have said, user a linter.
With Python you're supposed to just be able run any source code
instantly; how will using a 'lint' tool impact that process? Or is it
only meant to be used infrequently?
I'd go a step further and use an actual code editor or IDE that includes some
basic static analysis. Using this example that Skip used:
def func2(a, b):
Any code editor worth using will highlight the ) on the last line and tell you
that there's a missing parameter.
How can that work? I thought one of the biggest deals with Python is
that you can re-bind function names to anything else. So:
func2 = 38
func2 = func1
Then func2(1) can either be perfectly correct, or completely erroneous!
(I have my own suspicions that functions in Python are predominantly
used in a boring, predictable, static manner (so allowing certain
optimisations - or error checking), but I got the impression from some
threads here that many apparently do little else in their code but bind
and rebind function names.)