Python академия
前往频道在 Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
显示更多7 290
订阅者
-824 小时
-187 天
-4330 天
帖子存档
7 290
Нелокальная переменная во вложенной функции
Прежде чем перейти к тому, что такое замыкание, мы должны сначала понять, что такое вложенная функция и нелокальная (nonlocal) переменная.
Функция, определенная внутри другой функции, называется вложенной функцией. Вложенные функции могут получать доступ к переменным из локальной области видимости объемлющих функций (enclosing scope).
В Python нелокальные переменные по умолчанию доступны только для чтения. Если нам необходимо их модифицировать, то мы должны объявить их явно как нелокальные (используя ключевое слово nonlocal).
Подписывайтесь на канал 👉@pythonofff
7 290
Заглушка в коде
В ходе исполнения оператора pass ничего не происходит, поэтому он может использоваться в качестве некой заглушки в тех местах, где это синтаксически необходимо.
Например, вам надо сделать несколько функций, вы написали def'ы и названия, но сам код еще не успели, однако программу надо запустить и проверить что-то другое. Вот тут и понадобится pass.
Или в конструкции try-except, чтобы просто проигнорировать и никак не обрабатывать ошибку в программе.
Подписывайтесь на канал 👉@pythonofff
7 290
Курс «Разработчик 1С» от Яндекса.
За 6 месяцев освоите один из самых простых языков программирования и пройдёте стажировку
Зарегистрироваться
#реклама 16+
practicum.yandex.ru
О рекламодателе
7 290
Коротко о том, что такое метаклассы
Предположим, что вы знаете разницу между классами и объектами. Тогда метаклассы не должны быть для вас слишком уж сложными. Если кратко, то они являются классами для классов (отсюда и «мета» в их названии).
Проще говоря, в то время как классы являются чертежами для объектов, метаклассы являются чертежами для классов. Класс является описанием, когда мы создаем его экземпляр, тогда как метакласс является описанием класса, и существует только когда определен класс.
На скрине, самая простая реализация метакласса, которая ничего не делает.
Подписывайтесь на канал 👉@pythonofff
7 290
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
7 290
Блок else в циклах for
Хауди хо, друзья. Практически все новички теряются при виде блока else после циклов, поэтому сейчас немного проясним ситуацию.
В Python блок else может быть представлен не только в условных конструкциях после if, но и в циклах после for и while. В данном случае код внутри else выполняется, только если цикл не был прерван с помощью break.
Типичный пример использования – поиск чего-либо в цикле с использованием ключевого слова break при нахождении, как показано на картинке. Исходный код текстом можете найти в нашем чате.
Подписывайтесь на канал 👉@pythonofff
7 290
Для тех кто ценит свое время!
Просмотрела сотни каналов по рукоделию, вязанию, поэтому сделала для вас подборку действительно стоящих каналов!
Если не хотите терять время на поиск каналов, смело можете подписываться на эти 👍
Мастер-классы Вязание - t.me/+y-1EvM6q6_wwYjAy
Амигуруми - t.me/+YGtvBP85H043OWU6
Вязание детям - t.me/+eXZ9wzm0BVdmNjAy
Жаккард - t.me/+y2daSML47eQ0ZGRi
Выкройки - t.me/+m3GJOpF1P5BkOTUy
Вяжем шапки, носки - t.me/+pzO-XpKFTkw4OGNi
Схемы вязания - t.me/+uqOtmGvzslJkZWNi
Вязание для новичков - t.me/+I3Ec1m1b9uIyYTE6
Макраме - t.me/+JSRR-Bhwgl40ZGYy
Узоры крючком - t.me/+I2uktr-z8UZiMGIy
Бисер - t.me/+lLcvRUWOKGYxODQy
Детские поделки - t.me/+8dRiVjqLOoE4NTZi
Своими руками Декор - t.me/+_y7Y9FizzZsxNGEy
Вышивка - t.me/+Ab6VsYKQ_BphOTVi
Узоры спицами - t.me/+0GS2qVJ1VFAyODRi
Узнать больше
#реклама
О рекламодателе
7 290
Метод items()
Метод items() используется для возврата списка кортежей с парами всех ключей и значений словаря.
Синтаксис:dictionary.items()
Данный метод не принимает никаких аргументов.
Приведем пример использования данной функции.
Объявлен словарь с именем products. Ключи содержат названия продуктов, а значения — их цены. Используем для нашего словаря метод items() и сохраним в другой переменной с именем itemlist, а затем выведем на экран.
Подписывайтесь на канал 👉@pythonofff
7 290
Делаем многоуровневый словарь плоским при помощи собственной рекурсивной функции
Быстрый поиск в Google приводит нас на StackOverflow. Первый же ответ предлагает рекурсивную функцию, которая перебирает словарь и возвращает «уплощенный» экземпляр. Вдохновившись этой функцией, давайте создадим немного более продвинутую версию.
Можем начать с type hinting (явного указания типов). Это улучшит читаемость и сделает код типобезопасным.
Подписывайтесь на канал 👉@pythonofff
7 290
Ну не умею я красиво одеваться!
Давай научу, выбирай свой возраст:
Мне 18-25 лет - t.me/+8Bi4EJSodIYxMzMy
Мне 26-35 лет - t.me/+CoGUGiCwE2kxYTli
Мне 36-45 лет - t.me/+ZMe6BwbDj2diNmUy
Мне 46-55 лет - t.me/+7IzEcRIQhwkyYjNi
Мне 56-65 лет - t.me/+B-EO05zl9oBmYzIy
Мне 70+ лет - t.me/+JH7zp4cYBiwyZDIy
Тут нет моего возраста - t.me/+7hY4MM6OLD5mMDli
Узнать больше
#реклама
О рекламодателе
7 290
Простая обрезка изображения в Pillow
Обозначим область обрезки изображения с помощью кортежа box=(left, upper, right, lower).
Верхней левой координате соответствует (x, y) = (left, upper), а нижней правой — (x, y) = (right, lower). Область, которую нужно обрезать — left <= x <right и upper <= y <lower, а пиксели x = right и y = lower не включаются.
Не забудьте, что box используется вместе со скобками ().
Подписывайтесь на канал 👉@pythonofff
7 290
Класс collections.deque
Класс deque реализует двухконечную очередь, которая поддерживает добавление и удаление элементов с обоих концов в течение О(1) времени.
Объекты deque представлены в виде двусвязных списков, что дает им превосходную производительность для входящих и выходящих элементов, но при этом у него плохая производительность O(n) при работе со случайно принимаемыми элементами в середине очереди.
В связи с тем, что deque поддерживает вставку и удаление элементов одинаково хорошо, они могут поддерживать и очереди и стеки collections.deque это отличное решение, если вы ищите структуру данных очереди в Python в стандартной библиотеке.
Подписывайтесь на канал 👉@pythonofff
7 290
Твой Советник по саморазвитию и в бизнесе
Ты точно знаешь, что хочешь большего! Уметь вдохновлять людей, организовывать сложные процессы, грамотно строить свой бизнес и при этом не забывать про собственное развитие — это реально!
В нашем канале Блокнот Советника мы делимся тем, что действительно работает:
✅Как сделать так, чтобы люди шли за тобой как за сильным лидером, а не просто выполняли задания?
✅Как найти баланс между жёстким менеджментом и человеческим подходом.
✅Как не терять мотивацию, когда кажется, что сил больше нет.
Мы говорим про менеджмент, лидерство и собственное развитие без заезженных фраз и пустых советов. Теория, реальные примеры, идеи и инструменты, которые помогут тебе стать лучше.
Если хочешь, чтобы твои действия приносили результат, подписывайся. Начать всегда легче, чем кажется.
Подписаться
#реклама
О рекламодателе
7 290
Функция itertools.cycle
Напоминаю, что у нас всё ещё идёт набор на курс, который начинается уже в этот понедельник. А сейчас покажу вам кое-что интересное из курса.
В лекции, посвященной итераторам и генераторам, мы также показываем полезные функции из пакета itertools. К примеру, метод cycle из последовательности ['red', 'white', 'blue'] генерирует повторяющуюся бесконечную.
А далее, например, можно воспользоваться islice. Он возвращает конечный итератор из любой большой или даже бесконечной последовательности.
Подписывайтесь на канал 👉@pythonofff
7 290
Как обрабатывать исключения?
Обработка исключений в Пайтон – это очень просто. Потратим немного времени и напишем несколько примеров, которые их вызовут. Мы начнем с одной из самых элементарных проблем: деление на ноль.
Если мы обратимся к урокам элементарной математики, то вспомним, что на ноль делить нельзя. В Пайтоне данная операция вызовет ошибку, как мы можем видеть в примере выше. Чтобы поймать ошибку, мы завернем операцию в оператор try/except.
Подписывайтесь на канал 👉@pythonofff
7 290
Профессиональная конференция по UX/UI
22 февраля в Москве пройдёт профильная UX/UI конференция для тех, кто проектирует и создаёт интерфейсы.
20+ экспертов топовых digital-агентств и RnD. 3 потока докладов. Кейсы от ведущих агентств. Активный нетворкинг. Афтепати в завершении дня.
Программа и билеты на сайте.
Узнать больше
#реклама
uxuiconf.ru
О рекламодателе
7 290
Создание функций на основе других с "замороженными" параметрами
Привет, сегодня поговорим про очень важную функцию partial из пакета functools. Более подробно мы рассказываем про это в курсе, но сейчас дадим краткое описание работы.
Данная функция принимает в качестве первого аргумента любую другую функцию, а дальше параметры, которые будут автоматически переданы в эту функцию при вызове уже новой функции, которую вернёт partial.
Например, можем создать функцию, которая умножает два числа, а потом "заморозить" один аргумент, как на картинке.
Подписывайтесь на канал 👉@pythonofff
7 290
Примеры использования модуля os в Python
os.chdir() и os.getcwd()
Функция os.chdir позволяет нам вносить изменения в каталоге, который мы в данный момент используем в сессии.
Если вам нужно знать, какой путь вы в данный момент используете, для этой нужно вызвать os.getcwd(). Указанный код демонстрирует нам, что мы открыли директорию по умолчанию в Пайтоне, после запуска данного кода в IDLE.
После этого мы изменили папки, при помощи os.chdir().
Подписывайтесь на канал 👉@pythonofff
7 290
+5
Новые бесплатные курсы в канале Selectel Newsfeed.
Подойдут всем: от новичков до продвинутых айтишников.
Вас ждут обзоры, инструкции и статьи, которые помогут разобраться в темах структурно и последовательно.
Вступайте в сообщество IT-специалистов в Telegram от Selectel.
Подписаться
#реклама 16+
О рекламодателе
7 290
all и any
Полезные функции, которые помогут узнать есть ли определенные значения в объекте.
all возвращает True, если все объекты равны True или удовлетворяют условию.
any в свою очередь делает то же самое, но возвращает True, если хотя бы один равен True.
Теперь нет необходимости перебирать списки, достаточно использовать данные функции.
Подписывайтесь на канал 👉@pythonofff
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
