Forwarded from Библиотека программиста | программирование, кодинг, разработка
🏆 Самые популярные языки программирования 2023
Популярность ЯП зависит от нескольких факторов. Мы разобрались с ними, составили сводный рейтинг и обсудили особенности, преимущества, недостатки и причины популярности каждого языка. Заходите и читайте👇
🔗 Читать статью
🔗 Зеркало
Популярность ЯП зависит от нескольких факторов. Мы разобрались с ними, составили сводный рейтинг и обсудили особенности, преимущества, недостатки и причины популярности каждого языка. Заходите и читайте👇
🔗 Читать статью
🔗 Зеркало
🔥4👍1
🐰 Небольшая пасхалка в Python
Если попытаться передать методу float() строку 'infinity' или 'inf' (к регистру нечувствительно), то код сработает без ошибок и мы получим объект inf. Если затем применить к этому объекту hash(), то результатом будет «314159».
Узнали, что это? Да, это знаменитая последовательность из числа Пи (π ≈ 3.14159...). Пи имеет бесконечное количество цифр после точки.
🐍 Если любопытно, можете изучить источник этой пасхалки в CPython
Если попытаться передать методу float() строку 'infinity' или 'inf' (к регистру нечувствительно), то код сработает без ошибок и мы получим объект inf. Если затем применить к этому объекту hash(), то результатом будет «314159».
Узнали, что это? Да, это знаменитая последовательность из числа Пи (π ≈ 3.14159...). Пи имеет бесконечное количество цифр после точки.
🐍 Если любопытно, можете изучить источник этой пасхалки в CPython
🤯22🔥11🥰3❤2😁2🤔2👍1
Forwarded from Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
📰❌ 10 признаков фейковой вакансии
Как понять, что с вакансией что-то не так? Разбираемся в этой статье!
Читать статью
#почитать
Как понять, что с вакансией что-то не так? Разбираемся в этой статье!
Читать статью
#почитать
👍11❤3🔥1👏1
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
🔥27👍7❤6
This media is not supported in your browser
VIEW IN TELEGRAM
😜 Библиотека MegaMock для тестирования Python-кода
Позволяет быстро писать тесты с использованием mock-объектов (заглушек или имитаций).
Несколько преимуществ библиотеки:
✔️автоматически создаёт имитации с использованием лучших практик;
✔️при патчинге принимает на вход не текстовую строку, а объект или функцию.
✔️у проекта есть собственный GPT, которому можно задавать вопросы по библиотеке или просить его сгенерировать тесты.
🧑💻 Репозиторий MegaMock на GitHub со всеми подробностями
Позволяет быстро писать тесты с использованием mock-объектов (заглушек или имитаций).
Несколько преимуществ библиотеки:
✔️автоматически создаёт имитации с использованием лучших практик;
✔️при патчинге принимает на вход не текстовую строку, а объект или функцию.
✔️у проекта есть собственный GPT, которому можно задавать вопросы по библиотеке или просить его сгенерировать тесты.
🧑💻 Репозиторий MegaMock на GitHub со всеми подробностями
👍8❤2🔥2
💎Что такое алмазная проблема (Diamond problem) и как она решается в Python
Эта проблема также известна как ромбовидное наследование и связана с поддержкой языком множественного наследования.
🔷Допустим, у нас есть два класса B и C. Они наследуют от класса A. Также мы создаём класс D, который наследует от обоих классов B и C. Тут и может возникнуть неоднозначность. Если классы B и C по-своему переопределили некоторый метод родительского класса A, то от какого класса этот метод будет унаследован в D?
В Python с проблемой справились введением MRO, порядка разрешения методов. У класса можно вызвать функцию .mro() и увидеть список, в котором классы представлены в том порядке, в каком в них будет искаться нужный метод при вызове. Почитать об этом подробнее можно на Python.org
Эта проблема также известна как ромбовидное наследование и связана с поддержкой языком множественного наследования.
🔷Допустим, у нас есть два класса B и C. Они наследуют от класса A. Также мы создаём класс D, который наследует от обоих классов B и C. Тут и может возникнуть неоднозначность. Если классы B и C по-своему переопределили некоторый метод родительского класса A, то от какого класса этот метод будет унаследован в D?
В Python с проблемой справились введением MRO, порядка разрешения методов. У класса можно вызвать функцию .mro() и увидеть список, в котором классы представлены в том порядке, в каком в них будет искаться нужный метод при вызове. Почитать об этом подробнее можно на Python.org
👍17❤3👏2🤔2
💬 Там Python Software Foundation приглашает поучаствовать в официальном опросе Python-разработчиков
Опрос проводят каждый год. Чтобы его пройти, потребуется 10-15 минут. Также JetBrains и Python Software Foundation случайным образом выберут 20 человек, которым вручат подарочную карту Amazon (или локальный аналог) на сумму $100.
🐍Пройти опрос (можно выбрать русский язык)
Опрос проводят каждый год. Чтобы его пройти, потребуется 10-15 минут. Также JetBrains и Python Software Foundation случайным образом выберут 20 человек, которым вручат подарочную карту Amazon (или локальный аналог) на сумму $100.
🐍Пройти опрос (можно выбрать русский язык)
👍10🔥4👏2
📖 Исчерпывающее руководство по сериализации данных в Python
Понимание сериализации данных пригодится и дата-сайентисту, обрабатывающему большие данные, и бэкендеру, создающему масштабируемые микросервисы, и фронтендеру, использующему веб-API.
Если коротко, сериализация — это способ преобразования структуры данных в форму, которую можно сохранить или передать по сети.
Есть множество форматов сериализации данных:
▪️Текстовые: CSV, JSON, XML, YAML. Могут читаться как людьми, так и машинами, но при этом довольно грузные и медленно работают с большими объёмами данных.
▪️Бинарные: Avro, BSON, Parquet, Protocol Buffers. Быстрые, но читаются только машинами.
О том, как выбрать подходящий формат, и как с ним работать, можно прочесть в новой статье на Real Python
Понимание сериализации данных пригодится и дата-сайентисту, обрабатывающему большие данные, и бэкендеру, создающему масштабируемые микросервисы, и фронтендеру, использующему веб-API.
Если коротко, сериализация — это способ преобразования структуры данных в форму, которую можно сохранить или передать по сети.
Есть множество форматов сериализации данных:
▪️Текстовые: CSV, JSON, XML, YAML. Могут читаться как людьми, так и машинами, но при этом довольно грузные и медленно работают с большими объёмами данных.
▪️Бинарные: Avro, BSON, Parquet, Protocol Buffers. Быстрые, но читаются только машинами.
О том, как выбрать подходящий формат, и как с ним работать, можно прочесть в новой статье на Real Python
👍12
🔥 Вышел Django 5.0
Из нового:
✔️Параметр db_default для значений по умолчанию, устанавливающий их на уровне базы данных.
✔️Класс GeneratedField, позволяющий создавать поля моделей, значения которых генерируются и вычисляются на уровне базы данных.
✔️Упрощён рендеринг параметров полей формы (например, label и widget).
🔗Изучить Django 5.0 подробнее можно здесь
Из нового:
✔️Параметр db_default для значений по умолчанию, устанавливающий их на уровне базы данных.
class MyModel(models.Model):
age = models.IntegerField(db_default=18)
created = models.DateTimeField(db_default=Now())
circumference = models.FloatField(db_default=2 * Pi())
✔️Класс GeneratedField, позволяющий создавать поля моделей, значения которых генерируются и вычисляются на уровне базы данных.
class Square(models.Model):
side = models.IntegerField()
area = models.GeneratedField(
expression=F(«side») * F(«side»),
output_field=models.BigIntegerField(),
db_persist=True,
)
✔️Упрощён рендеринг параметров полей формы (например, label и widget).
🔗Изучить Django 5.0 подробнее можно здесь
Django Project
Django 5.0 release notes | Django documentation
The web framework for perfectionists with deadlines.
❤23🔥5👏2😁1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🔤 Азбука SQL в примерах. Часть 1. Создаем базу данных и первую таблицу
С помощью этого короткого руководства в трех частях вы создадите базу данных, добавите в неё записи, а затем выполните несколько запросов для их обработки. В первой части мы узнаем, что скрывается за тремя буквами SQL и начнем двигаться к поставленной цели.
🔗 Читать статью
🔗 Зеркало
С помощью этого короткого руководства в трех частях вы создадите базу данных, добавите в неё записи, а затем выполните несколько запросов для их обработки. В первой части мы узнаем, что скрывается за тремя буквами SQL и начнем двигаться к поставленной цели.
🔗 Читать статью
🔗 Зеркало
👍7🔥4❤3👏1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📯Внимание всем отважным героям и искателям приключений!
«Библиотеки Программиста» с гордостью представляет новую захватывающую игру — «Битва с Драконом». Выберите своих персонажей и сразитесь с древним Крылатым Ужасом Бурлопиворогом в эпическом поединке!
Мы предлагаем вам взять под свой контроль хитроумного изобретателя или ловкого вора.
💎Победителей ждет почет, уважение и награда! Итак, кто осмелится бросить вызов Бурлопиворогу? Начните свою «Битву с Драконом»!
«Библиотеки Программиста» с гордостью представляет новую захватывающую игру — «Битва с Драконом». Выберите своих персонажей и сразитесь с древним Крылатым Ужасом Бурлопиворогом в эпическом поединке!
Мы предлагаем вам взять под свой контроль хитроумного изобретателя или ловкого вора.
💎Победителей ждет почет, уважение и награда! Итак, кто осмелится бросить вызов Бурлопиворогу? Начните свою «Битву с Драконом»!
🔥5👍1🤯1🤩1
Что выведет код с картинки выше?
Anonymous Quiz
11%
False True
63%
True True
16%
True False
10%
False False
❤5
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍4🔥3❤1
📖Модуль difflib для сравнения последовательностей
Особенно полезен для работы с текстами. Содержит функции для создания отчётов в нескольких распространённых форматах, в том числе в HTML.
▪️Класс Differ(), например, выводит различия в отдельных строках, сопровождая их префиксами.
▪️Класс SequenceMatcher() позволяет вычислить сходство между строками. Функция get_opcodes() возвращает список инструкций для приведения первой последовательности к виду второй.
Таким образом, difflib полезен в ситуациях, когда нужно определить не только факт различия между двумя последовательностями, но и конкретные места, где эти различия возникают.
#код
Особенно полезен для работы с текстами. Содержит функции для создания отчётов в нескольких распространённых форматах, в том числе в HTML.
▪️Класс Differ(), например, выводит различия в отдельных строках, сопровождая их префиксами.
▪️Класс SequenceMatcher() позволяет вычислить сходство между строками. Функция get_opcodes() возвращает список инструкций для приведения первой последовательности к виду второй.
Таким образом, difflib полезен в ситуациях, когда нужно определить не только факт различия между двумя последовательностями, но и конкретные места, где эти различия возникают.
#код
👍21❤3
Курсы для тех, кто хочет получить новые скиллы или перейти в другую компанию на грейд выше.
У вас есть возможность начать любой курс с бесплатных вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Какой курс выбрать?
🔹 Математика для Data Science
Наш cамый популярный, самый хардкорный курс по вышмату! На этом курсе вы получите все необходимые знания по математике для старта карьеры в DS или аналитике.
🔹 Алгоритмы и структуры данных
Курс, который на практике познакомит со сложными алгоритмами и научит писать более короткий и эффективный код.
🔹 Основы программирования на Python
Если вы только хотите начать свою карьеру в IT, то этот курс точно для вас. Вы сможете получить новую профессию за 13 990 рублей, поймете, насколько вам подходит работа с кодом.
Если вы не знаете, какой курс вам подойдет, оставляйте заявку, и наш менеджер поможет с этим и любым другим вопросом – https://proglib.io/w/a55e0cd5
У вас есть возможность начать любой курс с бесплатных вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Какой курс выбрать?
🔹 Математика для Data Science
Наш cамый популярный, самый хардкорный курс по вышмату! На этом курсе вы получите все необходимые знания по математике для старта карьеры в DS или аналитике.
🔹 Алгоритмы и структуры данных
Курс, который на практике познакомит со сложными алгоритмами и научит писать более короткий и эффективный код.
🔹 Основы программирования на Python
Если вы только хотите начать свою карьеру в IT, то этот курс точно для вас. Вы сможете получить новую профессию за 13 990 рублей, поймете, насколько вам подходит работа с кодом.
Если вы не знаете, какой курс вам подойдет, оставляйте заявку, и наш менеджер поможет с этим и любым другим вопросом – https://proglib.io/w/a55e0cd5
👍2
🔤 Азбука SQL в примерах. Часть 2. Ограничения, которые упрощают жизнь
В предыдущей части мы выяснили, что такое SQL, создали свою первую базу данных и добавили в неё первую таблицу. Пришло время узнать, как сделать добавление данных в неё более простым и надёжным.
🔗 Читать статью
🔗 Зеркало
В предыдущей части мы выяснили, что такое SQL, создали свою первую базу данных и добавили в неё первую таблицу. Пришло время узнать, как сделать добавление данных в неё более простым и надёжным.
🔗 Читать статью
🔗 Зеркало
👍6❤4🔥2
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
❤4👍1🎉1
💙Состоялся официальный релиз Python 3.11.7
Это минорное обновление, поэтому включает в себя в основном исправления различных багов и проблем. Увидеть полный список изменений можно по этой ссылке
Напомним основные нововведения версии Python 3.11:
🔸поддержка групп исключений, а также выражения except* для выделения отдельных исключений из группы;
🔸включение модуля tomllib в стандартную библиотеку;
🔸добавление в модуль asyncio класса TaskGroup с реализацией асинхронного контекстного менеджера, ожидающего завершения группы задач.
Это минорное обновление, поэтому включает в себя в основном исправления различных багов и проблем. Увидеть полный список изменений можно по этой ссылке
Напомним основные нововведения версии Python 3.11:
🔸поддержка групп исключений, а также выражения except* для выделения отдельных исключений из группы;
🔸включение модуля tomllib в стандартную библиотеку;
🔸добавление в модуль asyncio класса TaskGroup с реализацией асинхронного контекстного менеджера, ожидающего завершения группы задач.
❤8🔥5👏2
This media is not supported in your browser
VIEW IN TELEGRAM
👀Что нового в PyCharm 2023.3
JetBrains опубликовала подробный пост, в котором рассказала о нововведениях в IDE. Пересказываем кратко:
🤖AI Assistant стал официально доступен. Код генерируется непосредственно в редакторе. ИИ-ассистент включён в подписку JetBrains AI Service.
✏️Появилось полнострочное автодополнение кода. IDE сама тут же проверяет корректность подсказок.
🤩Добавили Live Preview для шаблонов Django. Окно предварительного просмотра обновляется в реальном времени.
💅Появился новый UI для датафреймов. Можно просто навести указатель мыши на столбец и увидеть окно со статистикой.
🐍Многое приведено в соответствие Python 3.12.
🔗Прочесть об остальных изменениях можно тут
JetBrains опубликовала подробный пост, в котором рассказала о нововведениях в IDE. Пересказываем кратко:
🤖AI Assistant стал официально доступен. Код генерируется непосредственно в редакторе. ИИ-ассистент включён в подписку JetBrains AI Service.
✏️Появилось полнострочное автодополнение кода. IDE сама тут же проверяет корректность подсказок.
🤩Добавили Live Preview для шаблонов Django. Окно предварительного просмотра обновляется в реальном времени.
💅Появился новый UI для датафреймов. Можно просто навести указатель мыши на столбец и увидеть окно со статистикой.
🐍Многое приведено в соответствие Python 3.12.
🔗Прочесть об остальных изменениях можно тут
👍19🥰3
Пожалуйста, ответьте на несколько вопросов — это не займет много вашего времени.
Первая часть опроса 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1