Библиотека питониста | 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: оцениваем торговую стратегию

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

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

👉 В новой статье разбираемся, как реализовать бэктестинг на 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
💬 А у вас есть платные подписки? Сколько сервисов в месяц оплачиваете?

👍 — один
❤️ — два/три
🔥 — больше трёх

👇Расскажите в комментариях, что это за сервисы👇
🔥43👍2818🥱10
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍21
🤖 6 основных алгоритмов машинного обучения: руководство для начинающих

В новой статье мы расскажем о шести основных алгоритмах машинного обучения и их практическом применении в различных отраслях.

Вот алгоритмы, которые мы рассмотрим:

🔹линейная регрессия;
🔹SVM;
🔹дерево решений;
🔹случайный лес;
🔹наивный байес;
🔹логистическая регрессия.

🔗 Читать статью
5👍3