Библиотека питониста | Python, Django, Flask
40.6K subscribers
2.75K photos
75 videos
51 files
4.34K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.me/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
🧑‍💻 Собеседование Python-разработчика: чего ждать и как подготовиться

Своими опытом и мнением делится бэкенд-разработчик «Авито», который активно проводит интервью в компании. По его словам, процесс найма делится на несколько секций:

▪️Общение с HR;
▪️Технический скрининг;
▪️Алгоритмическая секция;
▪️Платформенная секция (так она называется в «Авито»);
▪️Системный дизайн;
▪️Собеседование с нанимающей командой.

Более подробно об этом читайте в статье на «Хабре»👈
👍84
⚛️🛠️ 14 React-инструментов, которые упростят вашу жизнь

Подборка инструментов, которые помогут сократить время разработки и повысить качество проектов.

👉 Читать статью
👉 Зеркало
😁7🔥3
Свежий #дайджест для питонистов

🐍 Телеграмм бот для инсулинотерапии
Статья на «Хабре» рассказывает о процессе создания бота, который реализует калькулятор перехода на помповую инсулинотерапию и другие опции.

🐍 13 Must-know Open-source Software to Build Production-ready AI Apps
Подборка инструментов, которые пригодятся для создания ИИ-приложения.

🐍 GIL Become Optional in Python 3.13
Статья описывает экспериментальную функцию в Python 3.13, которая позволяет отключить GIL (Global Interpreter Lock). GIL — это механизм, используемый интерпретатором CPython для обеспечения того, чтобы только один поток выполнял байткод.

🐍 Быстрое создание GUI для браузера. Python в связке с FastUI, hyperdiv, Flet
В ролике лектор сравнивает три проекта: FastUI, hyperdiv и Flet. Все они дают инструментарий для построения Web GUI.

🐍 Python Classes: The Power of Object-Oriented Programming
Новый туториал на Real Python рассказывает, как правильно писать классы в Python.
👍74
Привет, друзья! 👋

Мы готовим статью о прокрастинации среди разработчиков и хотим узнать ваше мнение! 🤓 Поделитесь своим опытом, а самые интересные и полезные советы мы обязательно включим в нашу статью.

Какая самая необычная причина прокрастинации у вас была в работе над проектом?
Какой метод борьбы с прокрастинацией оказался для вас наиболее эффективным?
Как вы справляетесь с когнитивной перегрузкой во время работы над сложными задачами?

Не стесняйтесь делиться своими историями и лайфхаками в комментариях! 💬 Ваш опыт может помочь другим разработчикам справиться с прокрастинацией. Спасибо за участие!
👍8🔥1
🧪 Байесовское A/B-тестирование vs частотное: преимущества, недостатки и способ реализации на Python

A/B-тестирование — это метод сравнения двух версий чего-либо для определения, какая из них работает лучше.

В новой статье разберёмся, в каких случаях лучше применять частотный подход, а в каких — байесовский, и напишем продвинутый байесовский тест на Python без использования специальных A/B-библиотек.

👉 Читать статью
🔥17
Какой модуль вы бы использовали, если бы хотели безопасно хешировать пароли для хранения в базе данных?

Самое простое решение — использовать модуль hashlib. Он поддерживает различные алгоритмы хеширования, включая SHA-256, SHA-512 и MDA RSA.

Модуль hashlib содержит одну функцию для каждого алгоритма хеширования, которая называется так же, как сам алгоритм. Например, для создания хеш-объекта с SHA-256 нужно использовать функцию hashlib.sha256().

Также можно, например, использовать библиотеку Bcrypt. Она применяет алгоритм Blowfish для медленной хеш-функции и является более устойчивой к атакам методом перебора.

#вопросы_с_собеседований
🔥11👍42😁1
🔝 React не нужен: 5 альтернативных фреймворков/библиотек

React — самый популярный инструмент для разработки фронтенда. Но не каждому проекту он нужен: есть несколько отличных библиотек и фреймворков, которые гораздо проще и во многом эффективнее.

🔗 Читать статью
🔗 Зеркало
👍4🔥4
✍️ Google's Python Class

Это небольшой курс по Python от Google для начинающих. Включает лекционные материалы и практические упражнения.

Вот какие темы охватывает:

▪️строки;
▪️списки;
▪️сортировка;
▪️словари;
▪️регулярные выражения.

🔗 Ссылка на курс
👍9🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, друзья! 👋

Мы готовим статью о том, что делать, если вы наврали в резюме, и нам нужна ваша помощь! 🤔 Поделитесь своим опытом и мнением, а самые интересные и полезные советы мы обязательно включим в нашу статью.

Сталкивались ли вы когда-нибудь с ситуацией, когда пришлось преувеличить свои навыки в резюме? Как вы с этим справились?
Какой, по вашему мнению, самый эффективный способ исправить ситуацию, если вы немного приукрасили свое резюме?
Как вы думаете, какая «ложь» в резюме может быть простительной, а какая — абсолютно недопустимой?

Не стесняйтесь делиться своими историями и мнениями в комментариях! 💬 Ваш опыт может помочь другим избежать подобных ситуаций или найти выход, если они уже в них оказались. Спасибо за участие!
6❤‍🔥1🔥1
💪🛠️ Прокачай свой бэкенд: 9 инструментов, которые стоит знать

От браузерной ИИ-песочницы PostgreSQL до суперскоростного валидатора email — обзор новейших инструментов, которые упростят вашу работу и повысят продуктивность.

Читать статью
8👍1
🐍📈 Бэктест на Python: оцениваем торговую стратегию

Бэктестинг — это метод, который используется в трейдинге и инвестировании для оценки эффективности торговой стратегии (или инвестиционного подхода) с помощью исторических рыночных данных.

Проще говоря, это процесс проверки того, как стратегия работала бы в прошлом, если бы её применяли к реальным данным.

👉 В новой статье разбираемся, как реализовать бэктестинг на Python
4👍2
🎨 ТОП-7 библиотек визуализации данных в 2024 году: обзор и сравнение

Подробный обзор 7 популярных библиотек для визуализации данных. Сравниваем функциональность, производительность и удобство использования Latitude, D3.js, Chart.js, Apache ECharts, Nivo, Plotly и Victory.

👉 Читать статью
👉 Зеркало
😁114👍2👏1🥱1
✍️ Шпаргалка по PyTest

PyTest — это, пожалуй, самый популярный фреймворк для тестирования кода на Python. Данная шпаргалка охватывает следующие темы:

▪️Запуск тестов с разными опциями (-s, -v и другими).
▪️Использование фикстур и параметризации для создания многоразовых тестов.
▪️Работа с маркерами.

🔗 Ссылка на шпаргалку
❤‍🔥5👍3
📚Напоминаем про наш полный курс «Самоучитель по 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
❤‍🔥18👍3
🤹 25 CSS-трюков, которые должен знать каждый разработчик

Современный веб-дизайн требует глубокого понимания возможностей CSS. Мы расскажем в нашей статье о 25 передовых CSS-техниках, которые помогут вам создавать стильные, функциональные и производительные веб-сайты, соответствующие последним трендам.

Также смотрите в Азбуке айтишника:
🎨 Frontend-разработка: искусство взаимодействия с пользователем.

🔗 Ссылка
👍6👏52
🔟 методов оптимизации кода на Python

1️⃣ Упаковка переменных
Снижает использование памяти.

import struct

packed_data = struct.pack('ii', 10, 20)

a, b = struct.unpack('ii', packed_data)


2️⃣ Правильный выбор память vs. хранилище
Операции с памятью быстрее, чем с диском.

3️⃣ Использование переменных фиксированного размера
Это позволяет быстрее к ним обращаться.

4️⃣ Применение вложенных функций
Предназначены для использования только внутри модуля, где они определены.

5️⃣ Использование декораторов
Позволяют кэшировать результаты, снижая затраты на вычисления.

from functools import lru_cache

@lru_cache(maxsize=100)
def compute_heavy_function(x):
return x ** x


6️⃣ Применение правильных библиотек (например, NumPy)
Последняя ускоряет вычисления.

7️⃣ Оптимизация условных выражений
Например, в выражении с оператором and, если первая часть ложна, вторая часть уже не должна проверяться, так как итоговое выражение уже не может быть истинным.

8️⃣ Освобождение памяти с del и gc.collect()

import gc

large_data = [i for i in range(1000000)]
del large_data
gc.collect() # начинает сборку мусора


9️⃣ Минимизация сообщений об ошибках
Вот пример:
try:
result = 10 / 0
except ZeroDivisionError:
print("Err: Div/0")


🔟 Оптимизация циклов
Можно использовать векторные операции вместо циклов.

🔗 Обо всех методах в подробностях можно почитать тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍176😁1🥱1🌚1
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями

👉Подписаться👈
🔥4👍2
🤬 Пишем FizzBuzz на Python в функциональном стиле программирования

FizzBuzz — это простая задача, которая часто используется для проверки навыков программирования. В классическом варианте требуется вывести числа от 1 до 100, заменяя кратные 3 на Fizz, кратные 5 на Buzz, и кратные 15 на FizzBuzz.

Обычно FizzBuzz решается так:
for i in range(100):
if i % 3 == 0 and i % 5 == 0:
print('FizzBuzz')
elif i % 3 == 0:
print('Fizz')
elif i % 5 == 0:
print('Buzz')
else:
print(i)


▶️В функциональном же стиле это всё может выглядеть вот так:
from itertools import count, islice


def fizzbuzz(i: int) -> str:
"""Fizzes and buzzes a given number."""
match (i % 3, i % 5):
case (0, 0):
return 'FizzBuzz'
case (0, _):
return 'Fizz'
case (_, 0):
return 'Buzz'
case _:
return str(i)


if __name__ == '__main__':
for line in islice(map(fizzbuzz, count(1)), 100):
print(line)


🔗 Подробнее об этом читайте в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍54🌚3
Media is too big
VIEW IN TELEGRAM
🔥 Как написать «Тетрис» на Python

Это небольшой туториал для начинающих. Игру пишем с помощью библиотеки Pygame.

🔗 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥163
📱 Объектно-ориентированное программирование: классы в Python

Python позволяет создавать собственные типы данных с помощью классов.

Класс определяется с помощью ключевого слова class:

class название_класса:
атрибуты_класса
методы_класса


Для создания объекта класса используется конструктор с помощью специального метода, который называется init(). Конструктор должен принимать как минимум один параметр ссылку на текущий объект - self.

class Animal:
# конструктор
def __init__(self):
print("Создание объекта Animal")

kot = Animal() # Создание объекта Animal


Атрибуты хранят состояние объекта.

class Animal:

def __init__(self, name, age):
self.name = name # имя кота
self.age = age # возраст кота


kot = Animal("Barsik", 5)

# обращение к атрибутам
# получение значений
print(kot.name) # Barsik
print(kot.age) # 5
# изменение значения
kot.age = 7
print(kot.age) # 7


Хотите выучить Python — забирайте наш курс:
🔵 Основы программирования на Python
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍3🥰2🤩2
🐍🔍 7 малоизвестных возможностей стандартной библиотеки Python

Стандартная библиотека Python — это кладезь возможностей. Мы представляем семь недооценённых модулей, которые помогут вам улучшить организацию данных, оптимизировать производительность и упростить распространение ваших программ.

🔗 Читать обо всём в статье
👍83