38 Область видимости. Локальная, глобальная и встроенная области видимости Python
🔥🔥🔥 Инди-курс по 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
Стать спонсором kzread.info/dron/McC_43zGHttf9bY-xJOTwA.htmljoin Стать патроном www.patreon.com/artem_egorov
Хороший урок, смог понять только до половины, дальше запутался)) нужно смотреть не один раз)
Простоооо спасибо огромное :3 Очень хорошо объясняешь) До меня просто не доходило как это работает, а тут просто разложил и все заработало!! Спасибо ещё раз
Большое спасибо за объяснение! Тема непростая, требует четкого описания...
Да, тему не плохо так раскрыл. Я раньше знал про локальную и глобальную области видимости, но вот "вложенную" и "встроенную" впервые слышу, ещё что при помощи nonlocal можно поменять функцию, находясь во вложенной функции, это конечно крутой материал!
Спасибо за подробное объяснение! Тема стала теперь понятна.
Спасибо. Помогли разобраться.
Спасибо за уроки.
Привет, Артём. С момента начала освоения темы ФУНКЦИИ нет практический заданий. Без них материал усваивается с меньшим КПД.
Спасибо за отличное объяснение!
Артём, благодарю! 🔥 👍🤝
Хороший урок, спасибо!
Забыл добавить, если даже переменной в global нет, но ты можешь её создать в локальной функции, написав global a. a =3. Для проверки можешь ввести в глобальной области видимости print(dir()) - увидишь новую переменную
Спасибо, посмотрела!
Спасибо, все понятно 👍
Доходчиво, спасибо
Спасибо большое! Ты решил мою проблему.
огромное спасибо!!! все стало понятно
Thank you very much!
хорошее уроки!
ааааа мозг закипел)
просто прекрасно
Спасибо!
Учу питон по Byte of Python, когда непонятно ты помогаешь)
@godmovement9264
4 жыл бұрын
жиза жизненная
удачи вам спасибо за разЪяснение ...
Молодец Артём
Топ!
Спасибо
спасибо!
Хороший урок, но я бы еще добавил про нюанс со случаем, когда в объемлющей функции используется global для использования какой-нибудь переменной из глобального пространства, то во вложенной функции уже нельзя прописать nonlocal по отношению к этой переменной. И что в объемлющей ф-ии из глобального пространства тоже нельзя писать nonlocal (для переменной из глобального пространства).
в 14 минутах рассказал в разы понятнее, чем препод за час.
Теперь я хорошо вижу)))
👏
Извините за вопрос я новичок в этой сфере и хотел бы спросить после прохождения данного курса можно ли самостоятельно создавать или что-то делать полезное и сколько надо ещё доучить чтобы можно было как минимум брать заказы на фрилансе?
@egoroffchannel
5 жыл бұрын
курс только еще создается, многих тем здесь нет. Но из того, что есть, я надеюсь ты найдешь много для себя полезного)
@user-sd4bw9gh1l
5 жыл бұрын
Не,так не пойдет.Без знания дополнительных библиотек ,ты ничем не отличаешься от обычного программиста на паскале или word)
@prettycode4028
5 жыл бұрын
для тогочто брать заказы на фрилансе надо выучить специлизацию. типа, библиотек джанго, фласка и т.д. я сейчас изучаю джанго, относительно легкая библиотека. P.S. зделай три проекта(для портфолио) и можеш начинать. ах да, и еще придетса заниматся проблемами по сейрьозному. они будут попадатса ОЧЕНЬ часто. поетому не бросой дело на полпути.добится сможеш.
🫵 Теория без практики - ничто, поэтому 👇 🐍 stepik.org/course/63085/promo 👉 специально для тебя создал бесплатный топовый курс по Python 👉 В нем тебя ждет: 📗 более 400 практических заданий на программирование 📗 более 250 тестовых заданий на проверку материала 📗 десятки часов видеоматерилов по теории 📗 видеоразборы решения заданий 📗 текстовые материалы по урокам, примеры кода 📗 доступ к закрытому чату с дружественной обстановкой 📗 сертификат в случае успешного прохождения курса
def w(x): return x**2 abs = w print(abs(-7), abs(5)) В этом примере функция abs фактически стала переменной, в которую поместиалась функция w?
@user-wk9dl9lu2t
2 жыл бұрын
так и есть
Будут ли ещё уроки по сложней?
@egoroffchannel
5 жыл бұрын
да, у меня есть план по видео. скоро например будет рекурсия
Добрый вечер, а как сделать так чтобы в функции выполнялись подряд 2 функции. Например: def v(): print("5") def n(): print("7") def j(): n() v() и при вызове j() выполнились v() и n()
@egoroffchannel
4 жыл бұрын
а чем твой пример плох?
@inkiik
4 жыл бұрын
@@egoroffchannel он выполняет только n() и все
@egoroffchannel
4 жыл бұрын
должен выполнять обе
Все-таки не совсем понятно, что nonlocal делает. Когда нет global and nonlocal переменная ищется по очереди LEGB. Когда есть global Python берет переменную из глобальной области видимости. А nonlocal как тогда? Берет в локальной области видимости для встроенной функции, так получается? Ну это же соответствует принципу LEGB, то есть берется сразу же первая область, где объявлена переменная разве нет?
в sublime text есть встроенная область видимости?
@egoroffchannel
4 жыл бұрын
Sublime это всего лишь редактор текста. Термин Область видимости относится к самой программе, а не к редактору
@rmn2682
4 жыл бұрын
@@egoroffchannel список встроенный области видимости есть в sublime такой же как на 8:23?
@user-gy9eg2mn7s
4 жыл бұрын
не
а почему в списке, который был определен как глобальный значение А поменялось на 100, когда его поменяли в функции? по идее же, изменение переменной в функции не должно зааффектить список, который глобальный. таймкод: 07:07
@user-zk9vn3ko9z
4 жыл бұрын
видимо список в локальном и глобальном окружении имеет ссылку на один и тот же объект в памяти.
топ
почему у меня не работают вложенные функции? программа как будто не видит мою вложенную функцию внутри функции, при создании даже имя функции горит серым цветом, с чем это может быть связано?
@egoroffchannel
4 жыл бұрын
на pastebin.com/ размести код и кинь ссылку на него
Прошу обратить внимание на скользкие инструкции 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
3 жыл бұрын
А что здесь скользкого? Во втором случае ты заново переопределил значение переменной 'a' уже после того, как ее переопределила функция
а где это полезно?
Артем хотелось бы высказать пожелание по изложению материала. Все примеры лучше писать с "нуля", а не исправлять исходный материал. Просто быстрое внесение изменений в существующих примерах помноженное на скорость изложения вами материала очень усложняет усвоение этого материала. В остальном ваши видео очень хороши. Спасибо.
def x(y): return 45 print = x print('понимаю')
привет из 2023