Генераторы словарей и модули Рython
Функции в языке Python Функции в языке PythonВсе функции в языке Python возвращают какое-либо значение, хотя вполне возможно (и часто так и делается) просто игнорировать это значение. Возвращаемое значение может быть единственным значением или кортежем значений,...
Реализация генераторов Реализация генераторовМы рассмотрели коллекции-последовательности, tuple, collections, na-medtuple и list, поддерживающие, как и строки, возможность извлечения срезов. Также было рассмотрено использование оператора распаковывания...
Парсинг документов XML Парсинг документов XMLXML: Для парсинга документов XML широко используются два основных подхода. Один из них основан на анализе DOM (Document Object Model -объектная модель документа), а другой - на использовании SAX (Simple API for XML - упрощенный...
Копирование коллекций Копирование коллекцийКопирование коллекций: Поскольку в языке Python повсюду используются ссылки на объекты, когда выполняется оператор присваивания (=), никакого копирования данных на самом деле не происходит. Если справа от оператора находится литерал,...
Распаковывание аргументов и параметров
Она изменяет значение переменной Language в случае необходимости и вызывает функцию print_digits для вывода результата. Обратите внимание на использование инструкции global в этой функции. Эта инструкция используется для того, чтобы сообщить интерпретатору, что данная переменная существует в глобальной области видимости (в области видимости файла .ру) и что операция присваивания должна применяться к глобальной переменной; без этой инструкции операция присваивания создаст локальную переменную с тем же именем.

А Если не использовать инструкцию global, программа сохранит / свою работоспособность, но когда интерпретатор встретит переменную Language в условной инструкции if, он попытается отыскать ее в локальной области видимости (в области видимости функции) и, не обнаружив ее, создаст новую локальную переменную с именем Language, оставив глобальную переменную Language без изменений.

Эта малозаметная ошибка будет проявляться только в случае запуска программы с аргументом "fr", потому что в этом случае будет создана новая локальная переменная Language, в которую будет записано значение "fr", а глобальная переменная Language, которая используется функцией print_digits , по-прежнему будет иметь значение "en". В сложных программах лучше вообще не использовать глобальные переменные, за исключением констант, которые не требуют употребления инструкции global.
Навигация: 1 2 3 4
 
 
© Copyright