Область действия переменной относится к области, в которой переменная может быть допустимой, поскольку, когда мы используем функцию, некоторые переменные определяются в основной программе, а некоторые определяются в вызываемой функции. Когда наша основная программа использует функцию При определении. переменной, возникает исключение. Давайте представим локальные переменные и глобальные переменные.
Локальные переменные, как следует из названия, — это переменные, которые действуют в локальной области. Если переменная определена в функции, она будет работать только внутри функции. Если переменная внутри функции используется вне функции, произойдет исключение. .
Посмотрите на следующий пример:
deftest():data='localvariable'print('Выходные данные внутри функции:',data)test()print('Выходные данные в основной программе:',data)
Результат:
Вывод данных внутри функции: локальная переменная Traceback(mostrecentcalllast):FileC:/Users/Qingyan/PycharmProjects/untitled/venv/Include/ts.py,line6,in<module>print('Выходные данные в основной программе: ', данные) NameError: имя 'данные' не определено
Поскольку переменные данные определяются внутри функции, когда мы используем переменные данные в основной программе, возникнет проблема, заключающаяся в том, что переменная, к которой осуществляется доступ, не существует. Поэтому мы должны обратить внимание на то, что переменные, определенные внутри функции, могут возникнуть. Функции являются локальными переменными, если не указано иное, доступ к ним невозможен. Могут использоваться вне функций.
Мы также можем понимать глобальные переменные в буквальном смысле, что они являются переменными, которые действуют глобально. Некоторые студенты, естественно, могут подумать, что глобальные переменные должны быть переменными, определенными в основной программе. Фактически, глобальные переменные также могут действовать в функциях. два способа использования глобальных переменных:
Область действия переменных, которые мы определяем в основной программе, является глобальной, и мы также можем использовать эти переменные непосредственно в определенных функциях. См. следующий пример:
data='Глобальная переменная data'deftest():print('Это глобальная переменная, которая действует в функции:',data)test()print('Это глобальная переменная, которая действует вне функции:',data)
Результат вывода:
Это глобальная переменная, которая действует в функции: данные глобальной переменной. Это глобальная переменная, которая действует вне функции: данные глобальной переменной.
Этот метод является глобальной переменной, которую мы обычно используем. Переменные, которые мы определяем в основной программе, можно использовать непосредственно внутри функции.
Переменные, которые мы определяем внутри функции, также можно запрограммировать как глобальные переменные. На данный момент нам нужно использовать ключевое слово global.
Во-первых, давайте посмотрим, что происходит, когда имена глобальных и локальных переменных совпадают. Взгляните на следующий пример:
data='Вот данные глобальной переменной'print(data)deftest():data='Вот данные локальной переменной'print(data)test()print('Проверьте данные глобальной переменной еще раз:',data)
Результат:
Вот данные глобальной переменной. Вот данные локальной переменной. Еще раз проверьте данные глобальной переменной: Вот данные глобальной переменной.
Из этого примера мы видим, что когда имена глобальных переменных и локальных переменных совпадают, это не влияет на содержимое глобальной переменной, но если мы хотим изменить значение глобальной переменной в функции, тогда мы необходимо использовать глобальное ключевое слово.
Посмотрите еще раз на следующий пример:
data='Вот данные глобальной переменной'print(data)deftest():globaldatadata='Вот данные локальной переменной'print(data)test()print('Проверьте данные глобальной переменной еще раз:',data)
Результат:
Вот данные глобальной переменной. Вот данные локальной переменной. Еще раз проверьте данные глобальной переменной: Вот данные локальной переменной.
Посредством ключевого слова global объявление local сообщает функции, что global является глобальной переменной. После модификации все переменные в global изменяются. Ключевое слово global может сделать переменную глобальной.
Если переменная не объявлена глобально, мы также можем использовать ключевое слово global локально, чтобы напрямую объявить переменную как глобальную. Тогда переменные, которые мы определяем в функции, также можно использовать в основной программе.
deftest():globaldatadata='Это переменные данные, созданные локально'print('Это выходные данные функции:',data)test()print('Это выходные данные основной программы:',data)
Результат:
Это выходные данные функции: Это переменные данные, созданные локально. Это выходные данные основной программы: Это переменные данные, созданные локально.
С помощью приведенного выше примера мы можем понять роль ключевого слова global в управлении глобальными переменными. Кроме того, нам следует обратить внимание на то, чтобы при написании программ имена глобальных и локальных переменных не были одинаковыми. области, они повлияют на взаимодействие между ними. Вот и все в этом разделе. Давайте узнаем об анонимных функциях в следующем разделе.