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):
print(a, b)
def func1(a):
print(a)
func2(1)
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:
if cond:
func2 = 38
else:
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.)
--
Bartc
--
https://mail.python.org/mailman/listinfo/python-list