Pythoner
7.22K subscribers
859 photos
27 videos
4 files
653 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
✈️GUI - Graphical User Interface - оно использует графические элементы, по типу окон, кнопок, иконок, и т.п. В основнов управляется с помощью мышки. К примеру:
1. Firefox
2. Telegram Desktop
3. OBS Studio

✈️TUI - Text user interface - оно использует текстовой ввод, и работает в основном в терминале. Также почти все TUI программы управляются через клавиатуру, но также может быть поддержка мышки, если у вас конечно есть графическая оболочка или оконный менеджер. Это более простой и легковесный интерфейс, по сравнению с GUI, и потребляет меньше оперативной памяти, примеры TUI программ:
1. Neovim
2. W3M
3. NetworkManager (nmtui)

❗️Они отличаются тем, что GUI в отличии от TUI нельзя запустить прямо в терминале, а также он более легковесный, и иногда может заменить IDE, браузера, мессенджеры

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥2
✈️Библиотека Six — это мощная библиотека, которая предназначена для сглаживания различий между двумя версиями Python: 2 и 3. Она предоставляет утилиты для обеспечения совместимости кода, который работает на обеих версиях Python без изменений. Six состоит всего из одного файла Python, поэтому его легко скопировать в проект.

➡️Основные функции Six:

1. Модули и классы - библиотека предоставляет модули, которые переопределяют или предоставляют совместимые классы и функции.
2. Совместимость строк - Six обеспечивает единый способ работы со строками в обеих версиях Python.
3. Функции - многие встроенные функции и методы, которые работают по-разному в Python 2 и 3, можно использовать с помощью Six.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥3
✈️PyBrain — это библиотека машинного обучения, которая предоставляет широкий набор алгоритмов и инструментов для обучения нейросетей и других задач машинного обучения.

➡️PyBrain имеет ряд преимуществ, которые делают его привлекательным для разработчиков машинного обучения:
— Простота использования: PyBrain имеет простой и понятный синтаксис, который делает его удобным для изучения.
— Модульность: PyBrain является модульной библиотекой, что позволяет разработчикам создавать собственные алгоритмы и инструменты.
— Производительность: PyBrain написан на Python, который является высокопроизводительным языком.

➡️PyBrain может использоваться для решения широкого спектра задач машинного обучения, включая:
— Классификация: обучение нейронной сети для классификации входных данных в один из нескольких классов.
— Регрессия: обучение нейронной сети для прогнозирования непрерывных значений.
— Обнаружение аномалий: обучение нейронной сети для обнаружения аномальных входных данных.

➡️Простой пример создания и обучения нейронной сети с использованием PyBrain:
from pybrain.datasets import ClassificationDataSet
from pybrain.supervised.trainers import BackpropTrainer
from pybrain.tools.shortcuts import BuildNetwork

# Создание выборки данных
data = ClassificationDataSet(2, 1)

# Добавление данных (x1, x2, label)
data.addSample((0, 0), (0,))
data.addSample((0, 1), (1,))
data.addSample((1, 0), (1,))
data.addSample((1, 1), (0,))

# Создание нейронной сети
network = BuildNetwork(2, 3, 1)

# Обучение нейронной сети
trainer = BackpropTrainer(network, data)
for _ in range(1000):
trainer.train()

# Проверка результатов
for sample in [(0, 0), (0, 1), (1, 0), (1, 1)]:
output = network.activate(sample)
print(f'Input: {sample}, Output: {output}')


⬆️В этом примере создается простая нейронная сеть для решения задачи логического И-Иксор (XOR). Данные добавляются в выборку, затем сеть обучается, и, наконец, результаты выводятся для разных входных значений.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3👍2
✈️PyStan — это интерфейс для работы с популярной библиотекой Stan, для статистического моделирования и программирования. С помощью PyStan можно легко строить и оценивать сложные статистические модели с использованием методов.

➡️Основные возможности Pystan:
— Простой интерфейс для задания байесовских моделей на языке Stan.
— Автоматическая компиляция моделей в высокооптимизированный код на C++.
— Выполнение статистического вывода с использованием методов Монте-Карло (MCMC).
— Возможность задавать сложные иерархические модели.
— Удобные инструменты для анализа результатов моделирования.
— Интеграция со многими библиотеками данных и визуализации в Python.

💡Pystan используется везде, где нужно решать задачи статистического моделирования и анализа данных с помощью байесовских методов. Так как PyStan позволяет удобно и эффективно работать с байесовскими моделями в Python.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥2👾1
✈️Streamlit – инструмент, который заставил многих воскликнуть "Вау!" прямо посреди рабочего дня.

➡️Представьте: вы написали крутую модель машинного обучения для определения пород собак. Раньше вам бы пришлось неделями возиться с Flask, HTML-шаблонами и CSS. А со Streamlit? Смотрите, как это делается:
import streamlit as st
from PIL import Image
import model # ваша ML модель

st.title("🐕 Определитель пород собак")
uploaded_file = st.file_uploader("Загрузите фото собаки")

if uploaded_file:
image = Image.open(uploaded_file)
st.image(image, caption="Загруженное фото")
prediction = model.predict(image)
st.success(f"Это {prediction} с вероятностью 95%!")


⬆️Буквально 10 строк кода – и у вас готово полноценное веб-приложение с загрузкой файлов и красивым интерфейсом.

➡️Вот ещё один пример:
import streamlit as st
import pandas as pd
import plotly.express as px

st.title("📊 Анализ продаж")
data = pd.read_csv("sales.csv")

# Интерактивный фильтр по датам
date_range = st.date_input("Выберите период")

# Динамический график
fig = px.line(data, x="date", y="sales")
st.plotly_chart(fig)


➡️Что особенно крутого в Streamlit:

— Интерактивность из коробки! Добавьте st.slider() – и у вас уже есть полноценный интерактивный элемент управления
— Адаптивный дизайн без единой строчки CSS. Приложение одинаково круто выглядит и на десктопе, и на мобильном
— Live-reload, который реально работает. Сохранили файл – изменения тут же видны в браузере
— Встроенная поддержка всех популярных библиотек визуализации: matplotlib, plotly, altair. Просто передаёте график в st.plotly_chart() – и готово!

➡️Конечно, есть и подводные камни:

— На больших датасетах может подтормаживать – всё-таки это не продакшн-решение для миллионов пользователей
— Если нужен сильно кастомный дизайн – придётся повозиться
— Каждое действие пользователя перезагружает приложение – это может раздражать в сложных интерфейсах

➡️Но для чего Streamlit просто идеален:

— Data Science прототипы и MVP – показать заказчику результаты анализа? Легко!
— Демо ML-моделей – загрузил файл, получил предсказание, красота!
— Внутренние инструменты для команды – мониторинг, анализ данных, всё что угодно

➡️А теперь самое вкусное – установка занимает 30 секунд:
pip install streamlit
streamlit hello # запустит демо-приложение


🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍104🔥2
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣22😁72👍1
✈️Встроенные функции all() и any(), которые применяются к последовательностям (спискам, кортежам и т. д.) и возвращают bool значение.

💬 all(iterable) — возвращает True, если все элементы iterable истинны (или iterable пуст).
💬 any(iterable) — возвращает True, если хотя бы один элемент iterable истинен.

⬆️Эти функции могут использоваться для проверки каких-либо условий на всём наборе данных.
Например, проверить, что все числа больше нуля, или что хотя бы одно число больше 10.

➡️Важные моменты:
— Для пустых iterable all() вернёт True, а any() — False.
— Элемент считается ложным, если его bool() равен False.
— Функции останавливаются при первом ложном (для all) или истинном (для any) элементе.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5🔥3
✈️Argcomplete — это библиотека для автодополнения аргументов командной строки.
Она позволяет легко добавить автодополнение для argparse в интерактивных оболочках (например, bash, zsh).


💡Библиотека работает в разных оболочках (bash, zsh и др.) без изменения кода и обладает простой интеграцией — достаточно декорировать функцию argparse декоратором @argcomplete.register.

➡️Основные возможности argcomplete:
— Автоматическое дополнение имен файлов и каталогов при вводе путей.
— Предложение вариантов для аргументов на основе возможных значений, описанных через argparse.
— Дополнение для подкоманд в приложениях с вложенной структурой команд.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥3
1
Что выдаст код выше
Anonymous Quiz
1%
6
6%
12
2%
222
65%
222222
8%
66
18%
Error
👍9🤓7🤔5
🤔Разбор

'2' + '2' —> '22' текстовый формат.
При умножении текста на число, текст дублируется столько раз, чему равно число.
В нашем случае '22' * 3 —> '222222'

Если было бы, например 'hello' * 3 —> 'hellohellohello'


🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍202🔥2
✈️Сегодня поговорим о том, как CRM (Customer Relationship Management) системы могут сделать вашу жизнь проще и эффективнее, особенно если вы работаете с Python.

➡️Что такое CRM?

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

➡️Для чего нужны CRM системы?

1. Автоматизация процессов: CRM берет на себя рутинные задачи, такие как отправка электронных писем, напоминания о встречах и отслеживание статусов сделок.
2. Управление контактами: Все данные о клиентах хранятся в одном месте, что упрощает доступ к информации и её обновление.
3. Анализ данных: С помощью CRM можно легко собирать и анализировать данные о клиентах, что помогает принимать стратегические решения.
4. Совместная работа: Команды могут совместно работать над проектами, делиться информацией и отслеживать прогресс.

➡️Какие CRM отлично взаимодействуют с Python?

1. Salesforce
- Salesforce предлагает мощный API, который позволяет интегрироваться с Python через REST или SOAP.
- Благодаря библиотекам, таким как simple-salesforce, разработчики могут легко взаимодействовать с системой.

2. HubSpot
- HubSpot предоставляет удобный API для работы с данными клиентов, сделками и контактами.
- Используйте библиотеку hubspot-api-client для Python, чтобы интегрировать HubSpot в свои приложения.

3. Zoho CRM
- Zoho CRM поддерживает интеграцию через REST API, что делает его отличным выбором для Python-разработчиков.
- Библиотека zcrmsdk поможет вам быстро начать работу с Zoho CRM.

4. Pipedrive
- Pipedrive предлагает простой и понятный API, который можно использовать для автоматизации процессов продаж.
- Используйте библиотеку pipedrive-python-lib для упрощенной интеграции.

⚡️Пример интеграции с Python

Давайте рассмотрим пример простого запроса к API Salesforce:
from simple_salesforce import Salesforce

# Авторизация
sf = Salesforce(username='your_username', password='your_password', security_token='your_token')

# Получение данных
accounts = sf.query("SELECT Name, Industry FROM Account")
print(accounts)


⬆️Этот код позволяет получить список аккаунтов из Salesforce и вывести их на экран. Просто и эффективно!

🔥Заключение

CRM системы — это мощный инструмент для улучшения бизнес-процессов, и их интеграция с Python открывает новые горизонты для автоматизации и анализа данных. Независимо от того, используете ли вы Salesforce, HubSpot, Zoho или Pipedrive, Python поможет вам создать эффективные и гибкие решения.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥2
✈️Когда мы говорим о космических технологиях, первое, что приходит на ум — это сложные системы управления и анализа данных. Однако не многие знают, что Python, один из самых популярных языков программирования, играет ключевую роль в современных космических миссиях. Давайте разберёмся, где и как этот язык применяется в NASA, SpaceX и других проектах.

➡️1. NASA и Python: анализ данных и моделирование

NASA активно использует Python для обработки данных с различных спутников и зондов. Одним из примеров является проект PDS (Planetary Data System) , который хранит и предоставляет доступ к данным, собранным во время миссий по исследованию планет Солнечной системы. Платформа PDS написана на Python и позволяет учёным легко анализировать данные, полученные от аппаратов, таких как марсоходы Curiosity и Perseverance.

Также Python используется в системе управления полётами и моделирования траекторий космических аппаратов. Например, библиотека SPICE (Spacecraft Planet Instrument C-matrix Events) широко применяется для расчёта траекторий и ориентации спутников.

💡В сочетании с Python она позволяет быстро и эффективно создавать модели движения космических объектов.

➡️2. SpaceX и автоматизация процессов

SpaceX, известная своими инновационными подходами к космическим исследованиям, также использует Python для автоматизации различных процессов. Например, управление тестированием ракет и их компонентов часто осуществляется с помощью скриптов на Python. Это позволяет командам быстрее и точнее выполнять тестирование, а также анализировать огромные объёмы данных, которые генерируются в ходе испытаний.

Важным аспектом использования Python в SpaceX является его применение в системах управления полётами. Хотя основные системы управления ракетами написаны на более низкоуровневых языках, таких как C++, Python используется для создания вспомогательных систем, которые помогают координировать работу основных систем и предоставлять информацию операторам в режиме реального времени.

➡️3. Моделирование и управление спутниками

Python активно используется в проектах, связанных с управлением спутниками и другими космическими аппаратами. Например, платформа SatPy позволяет обрабатывать данные со спутников дистанционного зондирования Земли. Она предоставляет мощные инструменты для анализа изображений и данных, что делает её незаменимой для метеорологических и научных миссий.

Также Python используется в системах управления спутниками, таких как Kubos , которая предлагает набор инструментов для разработки и управления малыми спутниками. Kubos позволяет разработчикам быстро создавать и протестировать программное обеспечение для спутников, используя Python как основной язык программирования.

➡️4. Открытые проекты и сообщество

Одним из главных преимуществ Python является его открытость и наличие большого количества библиотек и инструментов, которые могут быть использованы в космической индустрии. Например, проект Astropy предоставляет множество инструментов для работы с астрономическими данными, а библиотека SciPy используется для научных вычислений и анализа данных.

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

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥2
✈️Модуль calendar в Python предоставляет функционал для работы с календарем и датами. С его помощью вы можете получить информацию о календаре для любого месяца и года, форматировать даты, определять дни недели и многое другое.

➡️Основные функции и классы модуля calendar:

— calendar.dayname**: Список названий дней недели на английском языке.

— **calendar.month
name: Список названий месяцев на английском языке.

— calendar.monthcalendar(year, month): Возвращает список списков, представляющих календарь для указанного месяца в указанном году. Каждый список представляет неделю, а недели с пустыми значениями в начале и/или конце месяца содержат значения 0.

💡Модуль calendar очень полезен для работы с датами и календарем в Python, и он позволяет легко получать информацию о днях недели, месяцах, годах и других календарных данных.

— calendar.weekday(year, month, day): Возвращает день недели для указанной даты (0 - понедельник, 6 - воскресенье).

— calendar.isleap(year): Проверяет, является ли указанный год високосным.

—. calendar.TextCalendar: Класс, который предоставляет методы для вывода календаря текстом.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥43
✈️Модуль doctest — это легкий фреймворк для тестирования, который позволяет автоматизировать тестирование кода, используя его документацию. Модуль ищет в документации примеры кода, которые можно выполнить, и проверяет, соответствуют ли результаты ожидаемым.

➡️Как использовать doctest?

В документации вашей функции или класса, вы можете добавить примеры кода, которые хотите протестировать. Примеры должны начинаться с ключевого слова >>> и заканчиваться ожидаемым результатом.

Чтобы запустить тесты doctest, вы можете использовать функцию doctest.testmod(). Если тесты пройдут успешно, ничего не будет напечатано. Если тесты потерпят неудачу, будет напечатано сообщение об ошибке, указывающее на причину неудачи.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63👍2
✈️Если вы работаете с веб-контентом, анализируете новости или просто хотите автоматизировать сбор информации из интернета, библиотека Newspaper3k станет для вас настоящим спасением. Это мощный инструмент, который позволяет легко парсить статьи, извлекать текст, ключевые слова, метаданные и даже изображения с новостных сайтов.

➡️Что такое Newspaper3k?

Newspaper3k — это Python-библиотека для анализа и обработки новостного контента. Она была создана для упрощения работы с новостными сайтами и позволяет:

— Извлекать чистый текст статей.
— Определять ключевые слова и теги.
— Скачивать изображения из статей.
— Получать автора, дату публикации и другие метаданные.
— Работать с несколькими языками (включая русский).
— Автоматически генерировать краткие описания статей (summary).


💡Библиотека активно используется в проектах, связанных с машинным обучением, анализом данных и автоматическим сбором информации.

➡️Пример использования

Давайте посмотрим на базовый пример, как использовать Newspaper3k для парсинга новостной статьи:
from newspaper import Article

# URL статьи
url = "https://example.com/news-article"

# Создание объекта Article
article = Article(url)

# Скачивание и парсинг статьи
article.download()
article.parse()

# Вывод основных данных
print("Автор:", article.authors)
print("Дата публикации:", article.publish_date)
print("Текст статьи:\n", article.text)
print("Изображения:", article.top_image)

# Генерация краткого описания
article.nlp() # Анализ текста
print("Ключевые слова:", article.keywords)
print("Краткое описание:", article.summary)


➡️Основные функции Newspaper3k

1. Извлечение текста
Библиотека автоматически удаляет HTML-теги и广告, чтобы предоставить вам только чистый текст статьи.

2. Метаданные
Newspaper3k может извлекать такие данные, как автор, дата публикации, заголовок и URL.

3. Ключевые слова и теги
Используя метод nlp(), вы можете получить список ключевых слов и тегов, которые характеризуют содержание статьи.

4. Создание краткого описания
Метод summary автоматически генерирует краткое описание статьи, что особенно полезно для создания новостных агрегаторов.

5. Поддержка множества языков
Newspaper3k поддерживает различные языки, включая русский, английский, испанский и многие другие.

6. Работа с изображениями
Библиотека может скачивать главные изображения из статьи, что удобно для создания превью.

🔎Продвинутые возможности

➡️Парсинг нескольких статей одновременно

Если вам нужно собрать информацию с нескольких статей, можно использовать класс newspaper.build():
from newspaper import build

# URL сайта
url = "https://example.com"

# Создание объекта для парсинга всего сайта
paper = build(url, memoize_articles=False)

# Перебор всех статей
for article in paper.articles:
print(article.url)


➡️Настройка параметров

Вы можете настроить библиотеку под свои нужды. Например, ограничить количество скачиваемых статей или задать таймаут:
paper = build(url, memoize_articles=False, request_timeout=10, number_threads=5)


➡️Почему стоит выбрать Newspaper3k?

1. Простота использования
Библиотека имеет понятный API и требует минимум усилий для начала работы.

2. Высокая производительность
Newspaper3k оптимизирован для быстрого парсинга больших объемов данных.

3. Гибкость
Возможность работать с различными источниками и языками делает её универсальным инструментом.

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

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥1🤓1🗿1
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣20👍6👏3🔥2👌1
7
Что выдаст код выше
Anonymous Quiz
13%
Error
10%
False False
69%
True False
5%
True True
2%
False True
👍7🤓42🤨1
🤔Разбор

Исходя из названия функции понимаем, что она определяет, является ли число палиндромом. (Слава направо и наоборот читается одинаково).

Она, по сути, принимает какую-то строку, а возвращает результат сравнения этой строки с ее перевернутой версией. Переворот осуществляется при помощи среза [::-1].

Ну а далее, мы в принте делаем два вызова этой функции. Первый возвращает True, а второй - False.


🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114🔥3🤔1
✈️Библиотека yt-dlp в Python — это мощный инструмент для загрузки видео и аудио с различных платформ, таких как YouTube, Vimeo и многих других. yt-dlp является форком популярной библиотеки youtube-dl и предлагает дополнительные функции, исправления и улучшения.

➡️Основные возможности и применение yt-dlp:
— Поддерживает скачивание видео, аудио, плейлистов, каналов и др с YouTube. Помимо этого работает с сотнями других сайтов — Vimeo, Facebook, ВКонтакте, TikTok и др. Позволяет скачивать контент практически отовсюду.
— Извлечение метаданных и обложек видео.
— Конвертация медиафайлов в другие форматы после скачивания.
— Поддержка прокси и лимитов скорости.
— Множество настроек для извлечения данных, именования файлов, пост-обработки и т.д.
— Удобная утилита командной строки и модуль Python для автоматизации.

➡️Пример кода, который загружает видео с YouTube:
import yt_dlp

# Опции для загрузки
ydl_opts = {
'format': 'bestvideo+bestaudio', # Выбор лучшего качества видео и аудио
'outtmpl': 'downloads/%(title)s.%(ext)s', # Путь сохранения
}

url = 'https://www.youtube.com/watch?v=VIDEO_ID' # Замените VIDEO_ID на ID нужного видео

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])

⬆️Таким образом, yt-dlp — это удобный инструмент для работы с загрузкой медиафайлов в Python.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥115👍4