38 Область видимости. Локальная, глобальная и встроенная области видимости Python

  Рет қаралды 49,228

egoroff_channel

egoroff_channel

5 жыл бұрын

🔥🔥🔥 Инди-курс по Python 🔥🔥🔥
stepik.org/course/63085/promo
👉👉👉 Свой вопрос по курсу можешь задать в чате
t.me/+SlnNhAO7caBlNDM6
👉👉👉 Также подписывайся на мой телеграмм-канал
t.me/python_egoroff
egoroffartem.pythonanywhere.co...
Функции - это многократно используемые фрагменты программы. При помощи функций можно объединить несколько инструкций в один блок, присвоить этому блоку имя и затем, обращаясь по имени этого блока, выполнить инструкции внутри него в любом месте программы необходимое число раз.
Область видимости - место, где определяются переменные и где выполняется их поиск.
Всякий раз, когда в программе используется некоторое имя, интерпретатор создает, изменяет или отыскивает это имя в пространстве имен - в области, где находятся имена.
В Python существует встроенная, глобальная и локальная области видимости.
Если переменная создается внутри функции, но она будет называться локальной переменной и принадлежать локальной области видимости.
egoroffartem.pythonanywhere.co...
На сайте будет выкладываться более подробная информация о данном курсе и будущих видео.
Все видео этого курса можете найти на сайте
egoroffartem.pythonanywhere.co...
или в Вк
videos-177962775?secti...
Если кому нужна помощь, предлагаю индивидуальные занятия. Подробнее пишите в личку в вк
artem_egoroff
python.study
В данном группе можете найти информацию о новых видео и задать вопросы

Пікірлер: 64
@egoroffchannel
@egoroffchannel 4 жыл бұрын
Стать спонсором kzfaq.info/love/McC_43zGHttf9bY-xJOTwAjoin Стать патроном www.patreon.com/artem_egorov
@user-hy6im8cn2r
@user-hy6im8cn2r 5 жыл бұрын
Простоооо спасибо огромное :3 Очень хорошо объясняешь) До меня просто не доходило как это работает, а тут просто разложил и все заработало!! Спасибо ещё раз
@whiteblackdog
@whiteblackdog 2 жыл бұрын
Хороший урок, смог понять только до половины, дальше запутался)) нужно смотреть не один раз)
@neopoligraf9991
@neopoligraf9991 4 жыл бұрын
Большое спасибо за объяснение! Тема непростая, требует четкого описания...
@WinchesterD
@WinchesterD 2 жыл бұрын
Да, тему не плохо так раскрыл. Я раньше знал про локальную и глобальную области видимости, но вот "вложенную" и "встроенную" впервые слышу, ещё что при помощи nonlocal можно поменять функцию, находясь во вложенной функции, это конечно крутой материал!
@user-fs9gp6oz8x
@user-fs9gp6oz8x 4 жыл бұрын
Спасибо за подробное объяснение! Тема стала теперь понятна.
@Dmitrii-Zhinzhilov
@Dmitrii-Zhinzhilov Жыл бұрын
Артём, благодарю! 🔥 👍🤝
@vika-sole
@vika-sole Жыл бұрын
Спасибо. Помогли разобраться.
@dimitrilarios2667
@dimitrilarios2667 4 жыл бұрын
Привет, Артём. С момента начала освоения темы ФУНКЦИИ нет практический заданий. Без них материал усваивается с меньшим КПД.
@DimbikeY
@DimbikeY Жыл бұрын
Забыл добавить, если даже переменной в global нет, но ты можешь её создать в локальной функции, написав global a. a =3. Для проверки можешь ввести в глобальной области видимости print(dir()) - увидишь новую переменную
@denistalko6585
@denistalko6585 2 жыл бұрын
Спасибо за отличное объяснение!
@user-dr2el8ye8l
@user-dr2el8ye8l 5 жыл бұрын
Спасибо за уроки.
@SRFxVideos
@SRFxVideos 4 жыл бұрын
Хороший урок, спасибо!
@sofiipochta
@sofiipochta 9 ай бұрын
Спасибо, посмотрела!
@art_inkheart1688
@art_inkheart1688 10 ай бұрын
Спасибо большое! Ты решил мою проблему.
@andreymex2630
@andreymex2630 Жыл бұрын
ааааа мозг закипел)
@As-hv9fj
@As-hv9fj 3 жыл бұрын
Спасибо, все понятно 👍
@free_rad
@free_rad 2 жыл бұрын
Хороший урок, но я бы еще добавил про нюанс со случаем, когда в объемлющей функции используется global для использования какой-нибудь переменной из глобального пространства, то во вложенной функции уже нельзя прописать nonlocal по отношению к этой переменной. И что в объемлющей ф-ии из глобального пространства тоже нельзя писать nonlocal (для переменной из глобального пространства).
@efenof
@efenof 2 жыл бұрын
Доходчиво, спасибо
@user-xx3ct4cp6n
@user-xx3ct4cp6n 4 жыл бұрын
Thank you very much!
@user-dj7ir4or6n
@user-dj7ir4or6n 9 ай бұрын
огромное спасибо!!! все стало понятно
@user-hs6lt1bu4j
@user-hs6lt1bu4j Жыл бұрын
удачи вам спасибо за разЪяснение ...
@prettycode4028
@prettycode4028 4 жыл бұрын
хорошее уроки!
@artemalekseevich6184
@artemalekseevich6184 Жыл бұрын
Топ!
@user-jg9qe4rp6m
@user-jg9qe4rp6m 4 жыл бұрын
Спасибо!
@stupidcabbage
@stupidcabbage 2 жыл бұрын
просто прекрасно
@chebupizza2842
@chebupizza2842 5 жыл бұрын
Учу питон по Byte of Python, когда непонятно ты помогаешь)
@godmovement9264
@godmovement9264 4 жыл бұрын
жиза жизненная
@user-qi1eo3we1u
@user-qi1eo3we1u 5 ай бұрын
Теперь я хорошо вижу)))
@user-zs4us8xe2h
@user-zs4us8xe2h 5 жыл бұрын
Спасибо
@egoroffchannel
@egoroffchannel Ай бұрын
🫵 Теория без практики - ничто, поэтому 👇 🐍 stepik.org/course/63085/promo 👉 специально для тебя создал бесплатный топовый курс по Python 👉 В нем тебя ждет: 📗 более 400 практических заданий на программирование 📗 более 250 тестовых заданий на проверку материала 📗 десятки часов видеоматерилов по теории 📗 видеоразборы решения заданий 📗 текстовые материалы по урокам, примеры кода 📗 доступ к закрытому чату с дружественной обстановкой 📗 сертификат в случае успешного прохождения курса
@user-gs1tn5vc1u
@user-gs1tn5vc1u 5 жыл бұрын
в 14 минутах рассказал в разы понятнее, чем препод за час.
@knowledgesponge8111
@knowledgesponge8111 4 жыл бұрын
Молодец Артём
@Elena-lv3lx
@Elena-lv3lx 4 жыл бұрын
спасибо!
@jamjam3337
@jamjam3337 Жыл бұрын
👏
@uzbekistanmosquemaschitlar5241
@uzbekistanmosquemaschitlar5241 5 жыл бұрын
Извините за вопрос я новичок в этой сфере и хотел бы спросить после прохождения данного курса можно ли самостоятельно создавать или что-то делать полезное и сколько надо ещё доучить чтобы можно было как минимум брать заказы на фрилансе?
@egoroffchannel
@egoroffchannel 5 жыл бұрын
курс только еще создается, многих тем здесь нет. Но из того, что есть, я надеюсь ты найдешь много для себя полезного)
@user-sd4bw9gh1l
@user-sd4bw9gh1l 5 жыл бұрын
Не,так не пойдет.Без знания дополнительных библиотек ,ты ничем не отличаешься от обычного программиста на паскале или word)
@prettycode4028
@prettycode4028 4 жыл бұрын
для тогочто брать заказы на фрилансе надо выучить специлизацию. типа, библиотек джанго, фласка и т.д. я сейчас изучаю джанго, относительно легкая библиотека. P.S. зделай три проекта(для портфолио) и можеш начинать. ах да, и еще придетса заниматся проблемами по сейрьозному. они будут попадатса ОЧЕНЬ часто. поетому не бросой дело на полпути.добится сможеш.
@user-jc5px3ux4y
@user-jc5px3ux4y 4 жыл бұрын
def w(x): return x**2 abs = w print(abs(-7), abs(5)) В этом примере функция abs фактически стала переменной, в которую поместиалась функция w?
@user-wk9dl9lu2t
@user-wk9dl9lu2t 2 жыл бұрын
так и есть
@user-ji5nx9wh3i
@user-ji5nx9wh3i 2 жыл бұрын
Все-таки не совсем понятно, что nonlocal делает. Когда нет global and nonlocal переменная ищется по очереди LEGB. Когда есть global Python берет переменную из глобальной области видимости. А nonlocal как тогда? Берет в локальной области видимости для встроенной функции, так получается? Ну это же соответствует принципу LEGB, то есть берется сразу же первая область, где объявлена переменная разве нет?
@inkiik
@inkiik 4 жыл бұрын
Добрый вечер, а как сделать так чтобы в функции выполнялись подряд 2 функции. Например: def v(): print("5") def n(): print("7") def j(): n() v() и при вызове j() выполнились v() и n()
@egoroffchannel
@egoroffchannel 4 жыл бұрын
а чем твой пример плох?
@inkiik
@inkiik 4 жыл бұрын
@@egoroffchannel он выполняет только n() и все
@egoroffchannel
@egoroffchannel 4 жыл бұрын
должен выполнять обе
@uzbekistanmosquemaschitlar5241
@uzbekistanmosquemaschitlar5241 5 жыл бұрын
Будут ли ещё уроки по сложней?
@egoroffchannel
@egoroffchannel 5 жыл бұрын
да, у меня есть план по видео. скоро например будет рекурсия
@user-kq1sg3sn1r
@user-kq1sg3sn1r 4 жыл бұрын
почему у меня не работают вложенные функции? программа как будто не видит мою вложенную функцию внутри функции, при создании даже имя функции горит серым цветом, с чем это может быть связано?
@egoroffchannel
@egoroffchannel 4 жыл бұрын
на pastebin.com/ размести код и кинь ссылку на него
@nesquick3408
@nesquick3408 4 жыл бұрын
а почему в списке, который был определен как глобальный значение А поменялось на 100, когда его поменяли в функции? по идее же, изменение переменной в функции не должно зааффектить список, который глобальный. таймкод: 07:07
@user-zk9vn3ko9z
@user-zk9vn3ko9z 4 жыл бұрын
видимо список в локальном и глобальном окружении имеет ссылку на один и тот же объект в памяти.
@rmn2682
@rmn2682 4 жыл бұрын
в sublime text есть встроенная область видимости?
@egoroffchannel
@egoroffchannel 4 жыл бұрын
Sublime это всего лишь редактор текста. Термин Область видимости относится к самой программе, а не к редактору
@rmn2682
@rmn2682 4 жыл бұрын
@@egoroffchannel список встроенный области видимости есть в sublime такой же как на 8:23?
@user-gy9eg2mn7s
@user-gy9eg2mn7s 4 жыл бұрын
не
@obsi1019
@obsi1019 Жыл бұрын
топ
@dimitrilarios2667
@dimitrilarios2667 4 жыл бұрын
Прошу обратить внимание на скользкие инструкции global и nonlocal. Сравните два на первый взгляд одинаковых кода с инструкцией global, выводящих разные значения: ------------------------------------------------ def s(): global a a = 54 print(a, 'loc') a = [3, 5, 2] s() print(a, 'glob') ВЫВОДИТ: 54 loc 54 glob ------------------------------------------------ def s(): global a a = 54 print(a, 'loc') s() a = [3, 5, 2] print(a, 'glob') ВЫВОДИТ: 54 loc [3, 5, 2] glob ------------------------------------------------
@Frehsent
@Frehsent 3 жыл бұрын
А что здесь скользкого? Во втором случае ты заново переопределил значение переменной 'a' уже после того, как ее переопределила функция
@user-ix6ic3vp2r
@user-ix6ic3vp2r 3 жыл бұрын
Артем хотелось бы высказать пожелание по изложению материала. Все примеры лучше писать с "нуля", а не исправлять исходный материал. Просто быстрое внесение изменений в существующих примерах помноженное на скорость изложения вами материала очень усложняет усвоение этого материала. В остальном ваши видео очень хороши. Спасибо.
@Bunny_squad
@Bunny_squad 2 жыл бұрын
а где это полезно?
@user-ey6dh8jz7d
@user-ey6dh8jz7d 2 жыл бұрын
def x(y): return 45 print = x print('понимаю')
@mitiroro5488
@mitiroro5488 Жыл бұрын
привет из 2023
HOW DID HE WIN? 😱
00:33
Topper Guild
Рет қаралды 38 МЛН
你们会选择哪一辆呢#short #angel #clown
00:20
Super Beauty team
Рет қаралды 27 МЛН
LEGB-rule. Как Python ищет имена переменных
12:37
Зачем нужны указатели в C++?
8:14
Python функции. Создание функций, области видимости, аргументы, return
34:10
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 8 М.
ТОП 5 Ошибок в написании функций Python
12:46
46 Генераторы списков Python | List comprehension
10:30
Замыкания в Python. Closure Python
10:02
egoroff_channel
Рет қаралды 75 М.