Я просто переключился на Pycharm, и я очень доволен всеми предупреждениями и подсказками, которые он дает мне для улучшения моего кода. За исключением этого, которого я не понимаю:
This inspection detects shadowing names defined in outer scopes.
Я знаю, что плохой практикой является доступ к переменной из внешней области, но в чем проблема с затенением внешней области?
Вот один пример, где Pycharm дает мне предупреждение:
data = [4, 5, 6]
def print_data(data): # <-- Warning: "Shadows 'data' from outer scope
print data
print_data(data)