Jak złe są nazwy cieni zdefiniowane w zewnętrznych zakresach?

Właśnie przeniosłem się do Pycharm i jestem bardzo zadowolony ze wszystkich ostrzeżeń i wskazówek, które zapewnia mi ulepszenie mojego kodu. Z wyjątkiem tego, którego nie rozumiem:

This inspection detects shadowing names defined in outer scopes.

Wiem, że dostęp do zmiennej z zewnętrznego zakresu jest złą praktyką, ale jaki jest problem z cieniowaniem zewnętrznego zakresu?

Oto jeden przykład, w którym Pycharm wyświetla komunikat ostrzegawczy:

data = [4, 5, 6]

def print_data(data): # <-- Warning: "Shadows 'data' from outer scope
    print data

print_data(data)

questionAnswers(7)

yourAnswerToTheQuestion