examples/functions/duplicate_add.py
from __future__ import print_function

def add(x, y):
    return x*y

print(add(2, 3))  # 6

def add(x):
    return x+x

# add(2, 3)
# TypeError: add() takes exactly 1 argument (2 given)

print(add(2))  # 4

The second declaration silently overrides the first declaration.

pylint can find such problems, along with a bunch of others.