en
Feedback
Python академия

Python академия

Open in Telegram

Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter

Show more
7 176
Subscribers
-324 hours
-127 days
-4530 days
Posts Archive
Упростите использование операторов сравнения Использовать все операторы сравнения для одного класса может быть довольно сложн
Упростите использование операторов сравнения Использовать все операторы сравнения для одного класса может быть довольно сложно, учитывая, что их немало: It, le, gt или ge. Но есть ли более простой способ сделать это? Здесь поможет functools.total.ordering Подписывайтесь на канал 👉@pythonofff

Деление с плавающей запятой При делении целых чисел в Python результат будет целым, даже если на самом деле он был дробным. Ч
Деление с плавающей запятой При делении целых чисел в Python результат будет целым, даже если на самом деле он был дробным. Чтобы получить корректный ответ, приходится делать что-то подобное: result = 1.0/2 Но у этой проблемы есть и другое решение Подписывайтесь на канал 👉@pythonofff

Сделайте «санитарную» обработку входных данных эффективнее Чем больше размер программы, тем выше шансы пропустить уязвимость
Сделайте «санитарную» обработку входных данных эффективнее Чем больше размер программы, тем выше шансы пропустить уязвимость в коде. Один из способов обезопасить себя от возможных ошибок — очистка входных данных перед выполнением программы (input sanitization). В большинстве случаев при таком подходе достаточно поменять регистр символов или использовать регулярные выражения. Подписывайтесь на канал 👉@pythonofff

😎Устали от SQL запросов и хочется абстракций? Вам нужна ORM. Но ее надо уметь готовить. Начните прокачивать скиллы с открыто
😎Устали от SQL запросов и хочется абстракций? Вам нужна ORM. Но ее надо уметь готовить. Начните прокачивать скиллы с открытого урока «ORM: добро и зло», который пройдет 20 ноября в 20:00 мск. А продолжить сможете на практическом онлайн-курсе «Python Developer на специальных условиях. Во время вебинара с Евгением Ревняковым, обсудим нюансы работы с БД при использовании механизма ORM. Поймем, как можно положить базу и как этого избежать. На примере связей one-to-many и many-to-many рассмотрим проблему n+1 запроса и оптимизации, которые дает нам ORM на уровне БД (db level) и в самом интерпретаторе (python level). Регистрируйтесь бесплатно прямо сейчас и ставьте событие в календарь, чтобы ничего не пропустить: https://vk.cc/cspPFu Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Передавайте в функцию сколько угодно элементов — используйте kwargs Если при разработке программы нужно выполнить несколько п
Передавайте в функцию сколько угодно элементов — используйте kwargs Если при разработке программы нужно выполнить несколько похожих действий, то лучшее решение — определить функции для многоразового использования кода. Для этого вызовите функцию с аргументом. Но что делать, если аргументы функции определены, а вам нужно передать больше значений? Для этого можно использовать kwargs — функции для именованных аргументов. Подписывайтесь на канал 👉@pythonofff

Что такое аннотации типов? Аннотации типов – это новая возможность, описанная в PEP484, которая позволяет добавлять подсказки
Что такое аннотации типов? Аннотации типов – это новая возможность, описанная в PEP484, которая позволяет добавлять подсказки о типах переменных. Они используются, чтобы информировать читателя кода, каким должен быть тип переменной. Это придаёт немного статический вид коду на динамически типизированном Python. Достигается это синтаксисом: <тип> после инициализации / объявления переменной. Подписывайтесь на канал 👉@pythonofff

sh Python — это отличный скриптовый язык. Иногда использование стандартных библиотек os и subprocess становится настоящей гол
sh Python — это отличный скриптовый язык. Иногда использование стандартных библиотек os и subprocess становится настоящей головной болью. А библиотека sh является отличной альтернативой. С ней вы сможете вызывать любую программу как обычную функцию — это крайне полезно для автоматизации рабочего процесса и задач, причем все делается в самом Python. Подписывайтесь на канал 👉@pythonofff

Подсказки типа Python — это язык с динамической типизацией. Вам не нужно указывать тип данных при определении переменных, фун
Подсказки типа Python — это язык с динамической типизацией. Вам не нужно указывать тип данных при определении переменных, функций, классов и т.д. Такой прием сокращает время разработки. Однако есть и более страшные вещи, чем ошибка при выполнении, вызванная простой проблемой ввода. Подписывайтесь на канал 👉@pythonofff

Профилирование — это процесс, который помогает при работе с данными и их обработке. Пожалуй, одна из самых известных Python-б
Профилирование — это процесс, который помогает при работе с данными и их обработке. Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных. Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные. Подписывайтесь на канал 👉@pythonofff

Counter Ещё один прекрасный модуль из стандартной библиотеки — collections, и я хотел бы познакомить вас с collections.Counte
Counter Ещё один прекрасный модуль из стандартной библиотеки — collections, и я хотел бы познакомить вас с collections.Counter. Используя Counter, легко получить счётчик списка. Это полезно для получения общего количества значений в данных, нулевого счёта данных и просмотра уникальных значений. В counter есть множество функций, которых нет в Pandas Series, что делает его значительно полезнее в определённых ситуациях Подписывайтесь на канал 👉@pythonofff

Преобразование изменяемых данных в неизменяемые Изменяемые данные (например, словари или списки) — это структуры, к которым м
Преобразование изменяемых данных в неизменяемые Изменяемые данные (например, словари или списки) — это структуры, к которым могут быть добавлены новые значения. Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый. Подписывайтесь на канал 👉@pythonofff

Проверка на дубликаты Этот простой скрипт проверяет, содержатся ли в списке повторяющиеся значения (дубликаты). Используется
Проверка на дубликаты Этот простой скрипт проверяет, содержатся ли в списке повторяющиеся значения (дубликаты). Используется свойство множеств set, которые могут содержать только уникальные элементы. Вместо списков могут быть и кортежи, и словари. В последнем случае проверка будет выполняться только среди ключей словаря. Подписывайтесь на канал 👉@pythonofff

Итерация next() для генераторов В большинстве обычных сценариев в программировании мы можем получить доступ к индексу и получ
Итерация next() для генераторов В большинстве обычных сценариев в программировании мы можем получить доступ к индексу и получить номер позиции, используя счётчик, который будет просто добавляемым значением Однако вместо этого можно использовать next(). Next берёт итератор, который будет хранить текущую позицию в памяти и перебирать список в фоновом режиме. Подписывайтесь на канал 👉@pythonofff

Исключение из очереди Класс collections.deque() это обобщение стеков и очередей и представляет собой двустороннюю очередь. Дв
Исключение из очереди Класс collections.deque() это обобщение стеков и очередей и представляет собой двустороннюю очередь. Двусторонняя очередь deque() поддерживает поточно-ориентированные, эффективные по памяти операции добавления и извлечения элементов последовательности с любой стороны с примерно одинаковой производительностью O(1) в любом направлении. Подписывайтесь на канал 👉@pythonofff

Подборка Telegram каналов для программистов Системное администрирование 📌 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 https://t.me/tikon_1 Новости высоких технологий, науки и техники💡 https://t.me/mir_teh Мир технологий (Technology World) https://t.me/rust_lib Полезный контент по программированию на Rust https://t.me/golang_lib Библиотека Go (Golang) разработчика https://t.me/itmozg Программисты, дизайнеры, новости из мира IT. https://t.me/phis_mat Обучающие видео, книги по Физике и Математике https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 https://t.me/nodejs_lib Подборки по Node js и все что с ним связано https://t.me/ruby_lib Библиотека Ruby программиста 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/sysadmin_rabota Системный Администратор https://t.me/progjob Вакансии в IT Чат программистов📌 https://t.me/developers_ru Библиотеки 📌 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 Полезные советы по программированию 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 Канал по математике Excel лайфхак📌 https://t.me/Excel_lifehack

Выражения присваивания (Assignment expressions) Python 3.8 Так же известный как «моржовый оператор» (walrus operator) — новый
Выражения присваивания (Assignment expressions) Python 3.8 Так же известный как «моржовый оператор» (walrus operator) — новый синтаксис, который позволит присваивать значения переменным внутри другого выражения. Это, наверное, самое известное и обсуждаемое из нововведений версии 3.8. Целью введения оператора является повышение читаемости кода, поэтому использовать его (как и все остальные операторы) стоит не при первой же возможности, а только тогда, когда это уместно. Подписывайтесь на канал 👉@pythonofff

Транспонирование матрицы В простейшем случае двумерная матрица может быть задана списком из нескольких списков одинаковой дли
Транспонирование матрицы В простейшем случае двумерная матрица может быть задана списком из нескольких списков одинаковой длины, которые представляют собой строки матрицы. Если вам требуется «повернуть на 90 градусов» такую матрицу или превратить строки в столбцы (транспонировать, как говорят математики) Обратите внимание, что в итоговом списке элементами (то есть строками новой матрицы) будут кортежи — так работает используемая здесь функция zip (). Подписывайтесь на канал 👉@pythonofff

Проверка строки на палиндром Простой вариант этого кода проверяет, является ли слово без пробелов и знаков препинания, написа
Проверка строки на палиндром Простой вариант этого кода проверяет, является ли слово без пробелов и знаков препинания, написанное в одном регистре, палиндромом. Более сложный вариант, который сможет проверить строку «А роза упала на лапу Азора», предлагаем написать самостоятельно. Общая идея: свести сложную строку к простой, хоть и длинной 'арозаупаланалапуазора'. Вам пригодятся функции строк .lower(), .join(), а также, возможно, преобразование строки в список. Подписывайтесь на канал 👉@pythonofff

Объединить два словаря Для того чтобы объединить два словаря, есть как минимум два способа: прямой и современный. Обратите вн
Объединить два словаря Для того чтобы объединить два словаря, есть как минимум два способа: прямой и современный. Обратите внимание на то, что значения итогового словаря будут зависеть от порядка исходных словарей в функциях: если переставить местами словари a и b, значение ключа 'y' изменится на 2. Подписывайтесь на канал 👉@pythonofff

Применение функции ко всем элементам в списке Этот прием полезен в тех случаях, когда нужно применить функцию ко всем элемент
Применение функции ко всем элементам в списке Этот прием полезен в тех случаях, когда нужно применить функцию ко всем элементам списка, а не к каждому отдельно. Подписывайтесь на канал 👉@pythonofff