tgoop.com/prog_way_blog/29
Create:
Last Update:
Last Update:
Области видимости в Python.
Так, с последним моим переездом пропустил два дня для поста, но, собственно, ничего вроде страшного. Сейчас я снова в стою и буду писать, пока пишется.
Области видимости (О.В. в примере) в языках программирования рассматриваются как некоторые сущности, знаете. Этот термин подразумевает область программы, откуда будет доступна переменная, функция и т.п. структуры.
Из теории тут ничего особо важного да и сложного нет. Все принципы примерно похожи для большинства языков, но на примере Python:
# глобальная O.B.
a = 5
b = 6
def foo(): # foo О.В.
c = 7
return a * b
foo()
>>> 30
print(c)
>>> NameError: name 'c' is not defined
Что тут происходит? Всё просто: две переменные
a
и b
мы объявляем в глобальной области видимости, а c
в области видимости функции foo
. И тут нужно понять, что области видимости работают по принципу вложенности: переменные из родителя доступны в ребёнке, но не наоборот (!). Таким образом переменные
a
и b
доступны в функции foo
, но c
не доступна в глобальной области видимости, переменная локальна. Кстати, с областями видимости есть классная и очень интересная особенность - замкнутость. Она много где используется, например в тех-же декораторах. Может быть я напишу об этом позже, конечно, но советую самостоятельно ознакомиться, тема интересная. Ну и конечно же есть смысл посмотреть про ключевые слова global и nonlocal, но помните, что использование этих ключевых слов не очень хороший тон в программировании.
Спасибо прочтение и классный фидбек в личных сообщениях, это дорогого стоит
#python
BY progway — программирование, IT

Share with your friend now:
tgoop.com/prog_way_blog/29