fa
Feedback
Pythoner

Pythoner

رفتن به کانال در Telegram

Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику. Сотрудничество - @flattys Цены - @serpent_media Канал на бирже: https://telega.in/c/pythonercode

نمایش بیشتر
6 622
مشترکین
+124 ساعت
-87 روز
-4030 روز
آرشیو پست ها
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать #реклама yandex.ru О рекламодателе

✈️Когда мы открываем Яндекс.Карты, Google Maps или сервис доставки еды — за кулисами всегда работает геокодинг. Приложение до
✈️Когда мы открываем Яндекс.Карты, Google Maps или сервис доставки еды — за кулисами всегда работает геокодинг. Приложение должно понять: - Где находится пользователь - Как далеко курьер от адреса - Какие ближайшие отели или кафе показать Всё это можно сделать прямо из Python с помощью библиотеки Geopy. ➡️ Что умеет Geopy: - Геокодинг — превращает адрес в координаты («Москва, Красная площадь» → 55.7539, 37.6208) - Обратный геокодинг — по координатам даёт адрес (55.7539, 37.6208 → «Красная площадь, Москва, Россия») - Расстояния — считает путь между точками (в км, милях, морских милях) - Поддержка разных сервисов: OpenStreetMap (Nominatim), Google, Яндекс, Bing, ArcGIS и др. ➡️Примеры:
from geopy.geocoders import Nominatim
from geopy.distance import geodesic

# Инициализация геокодера
geo = Nominatim(user_agent="geo_app")

# 1️⃣ Адрес → координаты
moscow = geo.geocode("Москва, Красная площадь")
print("Москва:", moscow.latitude, moscow.longitude)

# 2️⃣ Координаты → адрес
place = geo.reverse("55.7539, 37.6208")
print("Адрес:", place.address)

# 3️⃣ Расстояние Москва–СПб
p1 = (moscow.latitude, moscow.longitude)
p2 = (59.9343, 30.3351)  # Санкт-Петербург
print("Расстояние:", geodesic(p1, p2).km, "км")
🔫Результат:
Москва: 55.7539, 37.6208
Адрес: Красная площадь, Москва, Россия
Расстояние: ~634 км 🚄
➡️ Где пригодится Geopy: - Логистика: рассчитывать маршруты доставки - Аналитика: строить тепловые карты заказов - Travel-сервисы: находить ближайшие отели или достопримечательности - Стартапы: от «поиска ближайшей кофейни» до «глобального трекера велосипедов» 💡Заключение Geopy делает Python ближе к реальному миру. С его помощью можно писать приложения, которые не просто что-то считают, а реально «понимают» где находится человек, бизнес или объект. 🐍 Pythoner

✈️В Python можно сразу присвоить значения нескольким переменным в одной строке. Это удобно и делает код короче. x, y, z = 1,
✈️В Python можно сразу присвоить значения нескольким переменным в одной строке. Это удобно и делает код короче.
x, y, z = 1, 2, 3
print(x, y, z)  # 1 2 3
➡️Можно использовать для обмена значениями без временной переменной:
a, b = 5, 10
a, b = b, a
print(a, b)  # 10 5
💡 Это стандартный приём в Python, который экономит строки и делает код читаемым. 🐍 Pythoner

✈️Global Interpreter Lock (GIL) — это механизм в CPython, который ограничивает выполнение Python-кода одним потоком за раз, д
✈️Global Interpreter Lock (GIL) — это механизм в CPython, который ограничивает выполнение Python-кода одним потоком за раз, даже на многопроцессорных системах. ➡️Зачем нужен GIL? Он предотвращает проблемы с управлением памятью и упрощает работу интерпретатора. Однако из-за него многопоточные программы не могут эффективно использовать несколько ядер процессора. ➡️Когда GIL мешает? - В CPU-интенсивных задачах (например, обработка данных, вычисления) многопоточность не дает прироста производительности. - В I/O-интенсивных задачах (сетевые запросы, работа с файлами) GIL почти не влияет, так как потоки могут освобождать блокировку во время ожидания операций ввода-вывода. 💡Решение: Если нужна настоящая параллельность, используйте многопроцессорность (multiprocessing), которая запускает отдельные процессы без GIL, или попробуйте альтернативные реализации Python, такие как Jython или PyPy. 🐍 Pythoner

Если честно, меня бесят каналы, где непонятно кто учит программированию. На деле там копипаста с первой страницы гугла, которая грузит мозги. Но есть и исключения. Например, канал @devsp. Его автор — ведущий разраб в области искусственного интеллекта. На минуточку, он приложил руку к самым нашумевшим нейронкам — Claude, Chat GPT и DeepSeek. А теперь представьте, что мастодонт такого уровня ЛИЧНО делится внутрянкой своей работы и объясняет сложные концепции так, что поймёт даже отсталый двоечник. Вещает про Data Science и машинное обучение с упором на практику (которой даже в платных курсах сильно не хватает). Короче, если хотите быстро и без проблем расти в профессии — обязательно подпишитесь. Редко где найдешь такой баланс теории, подачи и практики: @devsp

✈️UScrapper — это относительно новая библиотека Python, созданная для упрощения веб-скрапинга. Она предоставляет высокоуровне
✈️UScrapper — это относительно новая библиотека Python, созданная для упрощения веб-скрапинга. Она предоставляет высокоуровневый интерфейс для извлечения данных с веб-страниц без необходимости писать много кода. ➡️UScrapper особенно полезен для начинающих разработчиков и для тех, кто хочет быстро получить структурированные данные без глубокого погружения в детали HTML, CSS-селекторов или XPath. ➡️Пример извлечение таблиц со страницы:
from uscrapper import extract_tables

url = "https://en.wikipedia.org/wiki/List_of_countries_by_population"
tables = extract_tables(url)

# Первые 5 строк первой таблицы
print(tables[0].head())
💡Заключение Инструмент оснащен передовыми модулями обхода анти-парсинга и поддерживает технологии для извлечения информации из всех ссылок в пределах одного домена. Кроме того, в программе предусмотрена возможность создания отчета, содержащего все извлеченные данные. 🐍 Pythoner

✈️Метод getitem позволяет обращаться к объектам класса по индексу или ключу, как к спискам или словарям. ➡️Пример: class Cust
✈️Метод getitem позволяет обращаться к объектам класса по индексу или ключу, как к спискам или словарям. ➡️Пример:
class CustomList:
    def init(self, data):
        self.data = data

    def getitem(self, index):
        return self.data[index]  # Позволяет использовать obj[index]

nums = CustomList([10, 20, 30])
print(nums[1])  # 20
➡️Зачем нужен: - Позволяет настроить доступ к элементам объекта. - Делает объекты итерируемыми (например, в for-циклах). - Помогает создавать свои структуры данных, работающие как списки или словари. 💡Заключение getitem делает объекты гибкими и удобными в использовании, улучшая читаемость кода! 🐍 Pythoner

🤔Разбор Разбор кода по шагам: s = "python" 1. s[1:5:2] Формат среза: [start:stop:step] start = 1, stop = 5 (не включительно), step = 2 Берём символы с индексами 1 и 3: s[1] = 'y' s[3] = 'h' Результат: 'yh' 2. s[::-1] Шаг -1 → идём с конца к началу → переворачиваем строку полностью 'python' → 'nohtyp' Результат: 'nohtyp' 3. s[::3] Шаг 3, start и stop не указаны → берём от начала до конца, каждый 3-й символ Индексы, которые берём: 0, 3 s[0] = 'p' s[3] = 'h' Результат: 'ph' Итоговый вывод: 'yh', 'nohtyp', 'ph' 🐍 Pythoner

Что выдаст код выше❔
Anonymous voting

photo content

✈️Когда работаешь с большими массивами данных, производительность кода становится критически важной. Рассмотрим, как можно ус
✈️Когда работаешь с большими массивами данных, производительность кода становится критически важной. Рассмотрим, как можно ускорить обработку данных, используя библиотеку NumPy вместо стандартных циклов Python. ➡️Проблема: медленные циклы Допустим, у нас есть список чисел, и мы хотим возвести каждое число в квадрат:
data = list(range(1_000_000))
squared = [x**2 for x in data]  # Медленно!
🔫Этот код работает, но на больших объемах данных циклы Python работают неэффективно, что может значительно замедлить выполнение программы. ➡️Решение: NumPy Используем библиотеку NumPy, которая оптимизирована для работы с массивами:
import numpy as np

data_np = np.arange(1_000_000)
squared_np = data_np ** 2  # В десятки 
🔫NumPy использует векторизацию, что позволяет выполнять операции над целыми массивами данных за одно обращение, значительно ускоряя вычисления. 💡Заключение Если ваш код обрабатывает большие объемы данных, замена циклов Python на операции с NumPy может ускорить выполнение в 10–100 раз! Это особенно важно в научных вычислениях, анализе данных и машинном обучении, где скорость обработки данных критична. 🐍 Pythoner

Тариф, с которым хватит на всё 50 ГБ и безлимитные минуты за 390 ₽ в месяц, если перенесете номер в Т-Мобайл до 30 сентября Узнать больше #реклама tbank.ru О рекламодателе

✈️По умолчанию атрибуты хранятся в словаре dict, но этот подход неэффективен по памяти, особенно если создаётся много однотип
✈️По умолчанию атрибуты хранятся в словаре dict, но этот подход неэффективен по памяти, особенно если создаётся много однотипных объектов. slots ограничивает список атрибутов у экземпляров класса, экономя память за счет отказа от dict. ➡️Обычный класс без slots:
class Person:
    def init(self, name, age):
        self.name = name
        self.age = age

p = Person("Alice", 25)
p.city = "New York"  # Можно добавить новый атрибут
➡️Класс с slots:
class Person:
    slots = ("name", "age")  # Разрешены только эти атрибуты

    def init(self, name, age):
        self.name = name
        self.age = age

p = Person("Alice", 25)
p.city = "New York"  # ❌ AttributeError: 'Person' object has no attribute 'city'
💡Плюсы slots - Экономит память (не создается dict) - Ускоряет доступ к атрибутам - Предотвращает создание лишних атрибутов 🐍 Pythoner

Гайд для РОПов по проведению эффективных вебинаров Как руководителям отделов продаж увеличить количество успешных сделок при
Гайд для РОПов по проведению эффективных вебинаров Как руководителям отделов продаж увеличить количество успешных сделок при том же объеме лидов с помощью вебинаров? Гайд от МТС Линк по обучающим вебинарам для отделов продаж. ✅ В гайде: - Как эффективнее прокачивать скиллы менеджеров и закрывать больше сделок за меньшие сроки; - Как организовать тренинг так, чтобы участники действительно подключились и дошли до финального модуля; - Как выявить слабого менеджера и улучшить его показатели; - Как сэкономить время на организации вебинара и пригласить всех участников в 2 клика. Бонус внутри: 5 прикладных советов по контролю внимания участников во время вебинара ✨ Скачайте гайд бесплатно по ссылке Скачать #реклама 16+ mts-link.ru О рекламодателе

✈️Хочешь, чтобы твой скрипт принимал параметры из командной строки? В Python для этого есть встроенный инструмент — argparse.
✈️Хочешь, чтобы твой скрипт принимал параметры из командной строки? В Python для этого есть встроенный инструмент — argparse. ➡️Пример:
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--name', required=True, help='Имя пользователя')
parser.add_argument('--age', type=int, help='Возраст')

args = parser.parse_args()
print(f"Привет, {args.name}! Тебе {args.age} лет.")
🔫Как работает Запускаем в терминале:
python script.py --name Алиса --age 25
Вывод:
Привет, Алиса! Тебе 25 лет.
💡Зачем это нужно? - Удобно передавать параметры - Можно добавлять флаги, типы, help-сообщения - Работает из коробки — без установки сторонних библиотек 🐍 Pythoner

Ищу желающих выполнять задачи с помощью ИИ! Работа полностью на удаленке с зп до 150 000 рублей в месяц. Без опыта, нужен тол
Ищу желающих выполнять задачи с помощью ИИ! Работа полностью на удаленке с зп до 150 000 рублей в месяц. Без опыта, нужен только телефон, занятость 3-6 часов в день. Всему обучат на бесплатном курсе и после возьму на работу: ✅ 3 дня уроков по 30 минут ✅ Домашки с проверкой и оплатой бонусами ✅ Плачу 10 тыс за каждую выполненную домашку Все кто пройдет курс, получат сертификат от школы с образовательной лицензией. ⚡ Набор заканчивается завтра. 👍 Для регистрации жмите кнопку "Зарегистрироваться": Зарегистрироваться #реклама 16+ ganstaagency.com О рекламодателе

🤔Разбор В Python аргументы по умолчанию вычисляются один раз при определении функции, а не при каждом вызове. Когда мы вызываем func(1) → список y создаётся один раз и сохраняется. В него добавляется 1. Результат: [1]. При вызове func(2) используется тот же самый список, в который уже добавлена 1. Теперь добавляется 2. Результат: [1, 2]. При вызове func(3, []) мы передаём новый пустой список вместо значения по умолчанию. В него добавляется 3. Результат: [3]. При вызове func(4) снова используется старый общий список, где уже [1, 2]. Добавляется 4. Результат: [1, 2, 4]. 🐍 Pythoner

Что выдаст код выше❔
Anonymous voting

photo content

Скидки до 20% на чистоту и порядок ✨ Средства для стирки ✨ Средства для посуды ✨ Средства для уборки ✨ И многое другое Купить
Скидки до 20% на чистоту и порядок ✨ Средства для стирки ✨ Средства для посуды ✨ Средства для уборки ✨ И многое другое Купить #реклама market.yandex.ru О рекламодателе