Переменные, созданные внутри функции, обладают локальной областью видимости. Другими словами, переменная определяется только внутри тела функции и уничтожается при возвращении из нее. Функция может обращаться и к переменным, определенным за ее пределами, — при условии, что они определяются в том же файле:
debug = True # Глобальная переменная
def read_data(filename):
if debug:
print('Reading', filename)
...