9.
Локальные и глобальные переменные
Локальные и глобальные переменные
Переменные, которые введены в основной программе, называются глобальные (или общие).
Обращаться к глобальным переменным можно из любой подпрограммы.
Часто необходимо ввести дополнительные переменные, которые будут использоваться только в подпрограмме. Такие переменные называются
локальными (или местными). С ними можно работать только внутри той подпрограммы, в которой они созданы. Остальные подпрограммы про них ничего не "знают".
Таким образом, можно ограничить область действия (область видимости) переменной только той подпрограммой, где она действительно нужна. В программировании такой прием называется
инкапсуляцией - сокрытие переменной от ее изменения извне.
Проанализируйте три программы:
Описание |
Программа |
1) В этой программе переменная i локальная. Если в основной программе нет переменной i , то получим сообщение об ошибке. А если такая переменная есть (тогда это глобальная переменная), то на экран выводится ее значение. |
def test():
print(i)
|
2) Здесь, даже если есть глобальная переменная i , будет создана новая локальная переменная i со значением 2, и на экране появится 2. |
def test():
i = 2
print(i)
|
3) В этой программе существует глобальная переменная i со значением 15. Ее значение можно изменить внутри подпрограммы, для этого необходимо явно объявить, что она глобальная (используем команду global ).
Процедура будет работать с глобальной переменной i и ей будет присвоено новое значение 2. На экран выводится значение 2. |
def test():
global i
i = 2
# основная программа
i = 15
print(i)
|
Напишите процедуру с параметром
n
, которая выводит ёлочку с кроной высотой
n
. Основная программа должна содержать ввод значения переменной
n
и вызов процедуры.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
5 |
o
ooo
ooooo
ooooooo
ooooooooo
|
Напишите программу
Auto