en
Feedback
Python академия

Python академия

Open in Telegram

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

Show more
7 176
Subscribers
-324 hours
-107 days
-4530 days
Posts Archive
Новый оператор объединения словарей В Python есть много разных способов объединить несколько словарей. Мне, например, больше
Новый оператор объединения словарей В Python есть много разных способов объединить несколько словарей. Мне, например, больше всего нравилась распаковка словарей в один новый. Но в последнем обновлении добавили специальный оператор |, с помощью которого можно это делать ещё проще. Подписывайтесь на канал 👉@pythonofff

Множественное наследование без super() Давайте рассмотрим пример множественного наследования без изменения каких-либо родител
Множественное наследование без super() Давайте рассмотрим пример множественного наследования без изменения каких-либо родительских методов и, в свою очередь, без super(). Подписывайтесь на канал 👉@pythonofff

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

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

Инкремент с помощью __pos__ В Python нет операции инкремента ++ как в си-подобных языках, поэтому используется x += 1. Однако
Инкремент с помощью __pos__ В Python нет операции инкремента ++ как в си-подобных языках, поэтому используется x += 1. Однако запись ++x является валидным кодом (но не x++), так как это просто два унарных оператора сложения. При применении унарного плюса у объекта вызывается магический метод __pos__, то есть запись ++x можно понять как x.__pos__().__pos__(). Зная это, можно реализовать класс, который будет представлять число и поддерживать поведение инкремента. Код на картинке может показаться сначала немного сложным, но лучше проследить логику и понять работу метода __pos__. Если реализовать все остальные необходимо магические методы, то может получится полноценный класс числа, но в продакшне такие приколы лучше не писать. Подписывайтесь на канал 👉@pythonofff

Считываем бинарный файл со строковыми данными в массив байтов Функция open() открывает для чтения string.bin, а функция read(
Считываем бинарный файл со строковыми данными в массив байтов Функция open() открывает для чтения string.bin, а функция read() на каждой итерации цикла while считывает по 7 символов в файле и выводит их. Далее мы используем функцию read() еще раз, но уже без аргументов — для считывания всего файла. После считывания содержимое выводится на экран. Подписывайтесь на канал 👉@pythonofff

Лимит рекурсии В Python не поддерживается хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания
Лимит рекурсии В Python не поддерживается хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания рекурсивных алгоритмов. Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии. Однако делать это слегка опасно, так как каждый новый вызов занимает достаточно много памяти. И вообще лучше стараться использовать не рекурсию, а обычные циклы. Подписывайтесь на канал 👉@pythonofff

Примитивный метод удаления символа из строки Суть этого метода проста. Мы пишем цикл и создаем новую пустую строку. Цикл рабо
Примитивный метод удаления символа из строки Суть этого метода проста. Мы пишем цикл и создаем новую пустую строку. Цикл работает так: все символы кроме элемента с индексом n помещаются в новую строку. (n — индекс элемента, который нам нужно удалить) Подписывайтесь на канал 👉@pythonofff

Символы Юникода Добавлять юникод-символы в строковые литералы можно не только с помощью их номеров, но и по их названиям. Бол
Символы Юникода Добавлять юникод-символы в строковые литералы можно не только с помощью их номеров, но и по их названиям. Более того, такая запись символов юникода совместима и с f-строками, а это очень удобно. Подписывайтесь на канал 👉@pythonofff

Считываем бинарный файл со строковыми данными в массив Бинарный файл содержит список с числовыми данными. Функция open() откр
Считываем бинарный файл со строковыми данными в массив Бинарный файл содержит список с числовыми данными. Функция open() открывает файл и читает из него данные. Затем из бинарника читаются первые 5 чисел и перед выводом объединяются в список. Подписывайтесь на канал 👉@pythonofff

Создание словаря из набора ключей Для создания словаря из известного набора ключей и одинаковых значений часто используют ген
Создание словаря из набора ключей Для создания словаря из известного набора ключей и одинаковых значений часто используют генераторы словарей (dict comprehensions). Однако класс dict имеет удобный метод fromkeys, который был создан специально для таких случаев. Подписывайтесь на канал 👉@pythonofff

Удаление символа с помощью метода join() и генераторов списков Суть этого метода в том, чтобы конвертировать строку в эквивал
Удаление символа с помощью метода join() и генераторов списков Суть этого метода в том, чтобы конвертировать строку в эквивалентный список. После этого все элементы кроме того, который мы собираемся удалить, объединяются в строку. Подписывайтесь на канал 👉@pythonofff

Функция reduce Модуль functools позволяет хорошо раскрыть функциональные возможности Python. Например, в functools есть интер
Функция reduce Модуль functools позволяет хорошо раскрыть функциональные возможности Python. Например, в functools есть интересная функция reduce, которая позволяет «сжимать» данные, применяя последовательно функцию и запоминая результат. Таким образом, в примере выше reduce умножает 1 на 2, затем результат этого умножения на 3 и так далее. Подписывайтесь на канал 👉@pythonofff

Возведение в квадрат всех чисел в заданном диапазоне В этом фрагменте для нахождения квадрата каждого целого числа в заданном
Возведение в квадрат всех чисел в заданном диапазоне В этом фрагменте для нахождения квадрата каждого целого числа в заданном диапазоне прибегнем к помощи встроенной функции itertools Подписывайтесь на канал 👉@pythonofff

Функция zip Функция zip создаёт итератор, который комбинирует элементы нескольких списков. Это позволяет осуществлять паралле
Функция zip Функция zip создаёт итератор, который комбинирует элементы нескольких списков. Это позволяет осуществлять параллельный обход списков в циклах for или, например, выполнять параллельную сортировку. Подписывайтесь на канал 👉@pythonofff

Вычисление времени выполнения в оболочке Иногда важно знать время выполнения в оболочке или в блоке кода для получения лучшег
Вычисление времени выполнения в оболочке Иногда важно знать время выполнения в оболочке или в блоке кода для получения лучшего алгоритма с минимальным количеством затраченного им времени Подписывайтесь на канал 👉@pythonofff

Нахождение наиболее частых элементов списка Если необходимо найти несколько наиболее часто повторяющихся значений, лучше восп
Нахождение наиболее частых элементов списка Если необходимо найти несколько наиболее часто повторяющихся значений, лучше воспользоваться счетчиком Counter из библиотеки collections. Метод Counter.most_common(x) возвращает x кортежей, в которых первое значение – элемент, а второе – количество его повторений. Подписывайтесь на канал 👉@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

Ключевое слово del Для удаления элемента из списка можно использовать ключевое слово del с названием списка после него. Также
Ключевое слово del Для удаления элемента из списка можно использовать ключевое слово del с названием списка после него. Также потребуется передать индекс того элемента, который нужно удалить. Подписывайтесь на канал 👉@pythonofff

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