en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

Программистика

Программистика

Closed channel

Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager

Show more
5 790
Subscribers
-524 hours
+137 days
-4430 days
Posts Archive
👩‍💻 Классы, методы и свойства — что, где и зачем? Новички часто путают, чем отличаются методы класса, методы экземпляра и статические методы. Вот кратко — без магии, только практика и ловушки. 👍 Методы экземпляра — работают с конкретным объектом
class User:
    def show(self):
        print(self)  # self — это конкретный экземпляр
👉 Всегда первым аргументом — self 👉 Доступ к атрибутам экземпляра 👉 Можно менять состояние объекта 👍 Методы класса — работают с самим классом
class User:
    @classmethod
    def create_default(cls):
        return cls("Bot", 0)
👉 Аргумент cls — сам класс, а не объект 👉 Не видит конкретный self, только классную “шапку” 👉 Часто — альтернативные конструкторы, фабрика новых объектов 👍 Статические методы — не знают ни про класс, ни про объект
class User:
    @staticmethod
    def help():
        print("Создай пользователя через User(name, age)")
👉Нет self, нет cls вообще 👉Обычная функция внутри класса — для логической организации 👉Не обращается к атрибутам класса или экземпляра 🧱 Вот где обычно путают:
🟢В @staticmethod НЕЛЬЗЯ обращаться к self и cls — их просто нет! 🟢 В @classmethod НЕЛЬЗЯ менять конкретные значения self — доступа нет, только к классу.
👍 Методы экземпляра (без декораторов) — НЕЛЬЗЯ вызвать на классе напрямую:
  User.show()  # ошибка!
  # Можно только через экземпляр: u = User(); u.show()
  
❗️ Типичные ошибки
Перепутал self и cls: @classmethod def f(self) — ошибка! должно быть cls Описал метод через @staticmethod, а внутри пробуешь работать с self — ошибка! Хочешь вызывать метод экземпляра на классе — получишь TypeError В @classmethod внутри создаёшь объект через return User() — привязываешься к конкретному имени класса, нарушаешь наследование. Всегда используй cls()!
✍️Пиши — с чем чаще всего путаешься и хотел бы разобрать примеры! Программистика || #Статья

Удаляйте ChatGPT. Вы не умеете им пользоваться. Большинство пользователей спамит в ИИ всякую чушь — просят рассказать анекдот
Удаляйте ChatGPT. Вы не умеете им пользоваться. Большинство пользователей спамит в ИИ всякую чушь — просят рассказать анекдот, изливают душу и используют как Гугл. Российский тимлид OpenAI Вадим Петрич рассказывает в «Доктор GPT» как извлекать из нейронок максимум пользы. Это очень интересно: • ТОП №1 нейросеть, генерирующая видео без цензуры вообще • Готовые промты на все случаи жизни • Инсайды и разработки от китов индустрии Подпишитесь, с Доктором GPT нейронки станут инструментом роста, а не безделушкой: https://t.me/+fMjqBvMUQ3RkYzEy

👩‍💻БЕСПЛАТНЫЙ ХОСТИНГ ТЕЛЕГРАМ БОТА на PYTHON
🎥Первоисточник
Программистика|| #video

Хостинг Telegram-бота БЕСПЛАТНО за 5 минут
🎥Первоисточник
Программистика|| #video

Кто сказал, что после 11.11 скидок не бывает? Это точно не про нас, потому что в Kata Academy объявляется черная пятница! ⚡Се
Кто сказал, что после 11.11 скидок не бывает? Это точно не про нас, потому что в Kata Academy объявляется черная пятница! ⚡Сейчас у тебя есть возможность обучаться с приятной скидкой на наших курсах: - с гарантированным трудоустройством; - с гарантированной зарплатой (Fe - от 100.000, Go/Java - от 120.000); - с подготовкой к собеседованиям; ... И сразу после обучения ты получишь свой первый оффер❤️ Перейти на сайт #реклама 16+ kata.academy О рекламодателе

Функция должна принимать необязательный список целых чисел и может вернуть либо строку, либо None. Как правильно описать типы такой функции? Что должно быть ИСПОЛЬЗОВАНО в аннотациях?
Anonymous voting

👀 Python для data science Python — идеальный выбор для манипулирования и извлечения информации из данных всех видов. «Python
👀 Python для data science
Python — идеальный выбор для манипулирования и извлечения информации из данных всех видов. «Python для data science» познакомит программистов с питоническим миром анализа данных. Вы научитесь писать код на Python, применяя самые современные методы, для получения, преобразования и анализа данных в управлении бизнесом, маркетинге и поддержке принятия решений. Познакомьтесь с богатым набором встроенных структур данных Python для выполнения основных операций, а также о надежной экосистемы библиотек с открытым исходным кодом для data science, включая NumPy, pandas, scikit-learn, matplotlib и другие. Научитесь загружать данные в различных форматах, упорядочивать, группировать и агрегировать датасеты, а также создавать графики, карты и другие визуализации.
Программистика || #doc

Простые аннотации функций в Python: int, str, list, dict, Optional, Union Python — динамический язык, и переменные могут менять тип в процессе выполнения. Это гибко, но иногда опасно: IDE и статические анализаторы не могут заранее понять, какие типы вы используете. Type hints (аннотации типов) решают эту проблему. Они помогают:
🟢 Писать более понятный код. 🟢 Легче отлавливать ошибки ещё до запуска программы. 🟢 Получать автодополнение и подсказки в IDE.
➡️Давайте разберём базовые аннотации, которые пригодятся каждому. 1️⃣ int и str Самые простые типы. Используем для чисел и строк.
def multiply(x: int, y: int) -> int:
    return x * y

def greet(name: str) -> str:
    return f"Hello, {name}!"
Когда использовать:
🟢 Всегда, когда функция ожидает конкретный тип данных. 🟢 Позволяет IDE предупреждать, если вы случайно передадите, например, строку вместо числа.
2️⃣ list и dict Аннотировать коллекции важно, чтобы понимать, что внутри списка или словаря.
from typing import List, Dict

def sum_numbers(numbers: List[int]) -> int:
    return sum(numbers)

def count_words(text: str) -> Dict[str, int]:
    words = text.split()
    return {word: words.count(word) for word in words}
Когда использовать:
🟢 Когда функция работает с коллекциями. 🟢 Чтобы читатели кода (и IDE) сразу видели, какие типы элементов внутри.
💡 Важно: просто писать list или dict можно, но List[int] и Dict[str, int] дают точную информацию о содержимом. 3️⃣ Optional Optional[X] означает: аргумент может быть либо типом X, либо None.
from typing import Optional

def greet(name: Optional[str] = None) -> str:
    if name is None:
        return "Hello, stranger!"
    return f"Hello, {name}!"
Когда использовать:
👍 Когда параметр необязательный. 👍 Когда функция может вернуть None.
⚠️ Не путать с обычным значением по умолчанию — Optional именно про тип, а не про дефолт. 4️⃣ Union Union[X, Y] означает: параметр может быть любого из указанных типов.
from typing import Union

def stringify(value: Union[int, float]) -> str:
    return str(value)
Когда использовать:
👍 Когда функция принимает несколько типов, но обрабатывает их одинаково. 👍 Например, числа с плавающей точкой и целые, или строку и число.
💡 С Python 3.10+ есть сокращённая запись:
def stringify(value: int | float) -> str:
    return str(value)
✔️ Ключевые советы
👉Аннотируйте всё, что важно для понимания функции. Даже простые функции лучше типизировать. 👉 Используйте Optional, когда допускаете None. 👉 Union нужен, если аргумент может быть нескольких типов. 👉 IDE и линтеры (mypy, Pyright) будут проверять ваш код и предупреждать об ошибках типов.
🗣 Используя эти простые типы (int, str, list, dict, Optional, Union), вы уже делаете код чище, безопаснее и понятнее для команды и IDE. Программистика || #Статья

👀 Изучаем Data Science: обработка, исследование, визуализация и моделирование данных с помощью Python Рассмотрена работа с и
👀 Изучаем Data Science: обработка, исследование, визуализация и моделирование данных с помощью Python
Рассмотрена работа с инструментами pandas и SQL, методы выявления закономерностей и очистки данных. Описаны различные источники информации, включая текстовые, бинарные и веб-данные. Подробно изложены статистические методы: доверительные интервалы, проверка гипотез, конструирование признаков. Приведены практические примеры на языке Python из разных областей: анализ транспортных систем, экологические исследования, ветеринарная аналити-ка. Заключительные разделы посвящены логистической регрессии и оптимизации моделей с применением к задачам классификации текстов.
Программистика || #doc

👩‍💻 TypeVar, Generic и Protocol — как писать библиотеки с полной поддержкой type hints Если вы создаёте библиотеку для Python, просто писать def foo(x: int) -> str недостаточно. Пользователи хотят автодополнение, строгую проверку типов и документацию прямо в IDE. Для этого есть TypeVar, Generic и Protocol. Разбираемся без магии. 🧱 Почему обычных type hints мало 🟢 Локальные hints полезны, но не передают зависимости типов:
def first(lst: list) -> str:
    return lst[0]
➡️ IDE не понимает, что возвращаемый тип зависит от типа элементов списка. 📌 TypeVar — универсальный тип TypeVar позволяет указать, что один и тот же тип повторяется:
from typing import TypeVar, Sequence

T = TypeVar('T')  # универсальный тип

def first(lst: Sequence[T]) -> T:
    return lst[0]

x: int = first([1, 2, 3])      # IDE знает: x -> int
y: str = first(["a", "b", "c"])  # IDE знает: y -> str
✅ Полезно для функций, где вход и выход зависят друг от друга. 📦 Generic — обобщённые классы Если вы пишете класс, который работает с любыми типами:
from typing import Generic, TypeVar

T = TypeVar('T')

class Stack(Generic[T]):
    def __init__(self) -> None:
        self.items: list[T] = []

    def push(self, item: T) -> None:
        self.items.append(item)

    def pop(self) -> T:
        return self.items.pop()

stack_int = Stack[int]()
stack_int.push(42)
x = stack_int.pop()  # IDE знает: x -> int
➡️ Без Generic IDE не сможет подсказать тип элементов. 🧩 Protocol — контракт интерфейса Protocol позволяет объявлять «как должен себя вести объект», без жёсткого наследования.
from typing import Protocol

class SupportsClose(Protocol):
    def close(self) -> None:
        ...

def cleanup(resource: SupportsClose) -> None:
    resource.close()

class FileLike:
    def close(self) -> None:
        print("Закрыто")

cleanup(FileLike())  # ✅ Типы совпадают, работает
✅ Protocol полезен для duck typing + type hints. 🪖 Комбинируем всё Можно делать библиотеки с полной типизацией и автодополнением:
from typing import Generic, TypeVar, Protocol

T = TypeVar('T')

class Serializer(Protocol[T]):
    def serialize(self, value: T) -> str:
        ...
    def deserialize(self, data: str) -> T:
        ...

class IntSerializer:
    def serialize(self, value: int) -> str:
        return str(value)
    def deserialize(self, data: str) -> int:
        return int(data)

def save_value(serializer: Serializer[T], value: T) -> str:
    return serializer.serialize(value)

s = save_value(IntSerializer(), 42)  # IDE знает: s -> str
💡 Запомни
👉 TypeVar — для связывания типов входа и выхода 👉 Generic — для обобщённых классов 👉 Protocol — для интерфейсов и duck typing
🗣 Если хотите пост про Literal, Final, TypedDict и продвинутые паттерны типизации — пишите темы, мы сделаем! 🚀 Программистика || #Статья

💸Как с нуля сделать систему оплаты в боте?
🎥Первоисточник
Программистика|| #video

🖥 pre-commit — ваш автоматический код-ревьюер. Эта библиотека превращает Git-хуки в мощную систему контроля качества кода. В
🖥 pre-commit — ваш автоматический код-ревьюер.
Эта библиотека превращает Git-хуки в мощную систему контроля качества кода. Вместо ручного запуска линтеров перед каждым комитом, pre-commit автоматически проверяет изменения на качество — будь то синтаксические ошибки в Python или форматирование SCSS-файлов.
🖥 Ссылка на GitHub Программистика|| #Репозиторий

👩‍💻 codecademy.com Интерактивная платформа, предлагающая бесплатный курс для начинающих, который познакомит вас с основами
👩‍💻 codecademy.com Интерактивная платформа, предлагающая бесплатный курс для начинающих, который познакомит вас с основами Python
🌐 Ссылка
Программистика || #Ресурсы

👀 FastAPI: веб-разработка на Python FastAPI — относительно новый, но надежный фреймворк с чистым дизайном, использующий преи
👀 FastAPI: веб-разработка на Python
FastAPI — относительно новый, но надежный фреймворк с чистым дизайном, использующий преимущества актуальных возможностей Python. Как следует из названия, FastAPI отличается высоким быстродействием и способен конкурировать в этом с аналогичными фреймворками на таких языках, как Golang. Эта практическая книга расскажет разработчикам, знакомым с Python, как FastAPI позволяет достичь большего за меньшее время и с меньшим количеством кода.
Программистика || #doc

👀 Основы динамики сооружений с применением Python Курс знакомит с основами динамики сооружений, рассматриваются системы с од
👀 Основы динамики сооружений с применением Python Курс знакомит с основами динамики сооружений, рассматриваются системы с одной и несколькими степенями свободы, их свободные и вынужденные колебания, в том числе с учетом демпфирования. Расчеты реализованы с использованием языка программирования Python.
🌐 Ссылка
Программистика || #Course

👩‍💻 uv: pip на стероидах — ставит пакеты в 100 раз быстрее Устал ждать, пока pip устанавливает зависимости? uv — это менеджер пакетов на Rust, который делает pip смешным. Там, где pip думает 30 секунд, uv справляется за полсекунды. Установка библиотек, создание виртуальных окружений, разрешение зависимостей — всё летает. Он полностью совместим с pip и poetry, поддерживает pyproject.toml и работает так же просто. Просто меняешь pip на uv pip в команде и получаешь невероятную скорость без изменения workflow. Установка:
curl -LsSf https://astral.sh/uv/install.sh | sh
Использование:
uv venv                      # Создать виртуальное окружение
uv pip install requests      # Установить пакет
uv pip sync requirements.txt # Синхронизировать зависимости
Программистика || #doc

👀 Практикум по статистике на Python Курс позволит закрепить базовые знания статистики и широко применяемых статистических ме
👀 Практикум по статистике на Python Курс позволит закрепить базовые знания статистики и широко применяемых статистических методов на практических тестах и заданиях, в том числе с использованием Python (pandas, numpy, scipy, statsmodels, matplotlib).
🌐 Ссылка
Программистика || #Course

Python – это просто. Пошаговое руководство по программированию и анализу данных Рассмотрены основы синтаксиса языка Python на
Python – это просто. Пошаговое руководство по программированию и анализу данных Рассмотрены основы синтаксиса языка Python на примере дистрибутива Anaconda. Показаны приложения IPython, Spyder IDE, Jupyter Notebook. Описан синтаксис переменных, функций, циклов. Подробно изучаются структуры данных в Python: строки, списки, кортежи, множества и словари. Объясняется понятие классов и их применение в объектно-ориентированном программировании. Описаны возможности библиотеки обработки изображений Pillow, библиотеки Tkinter для создания приложений с графическим интерфейсом. Отдельный раздел посвящен обработке ошибок и исключений в программах. Рассматриваются библиотеки NumPy и Pandas, приводятся практические примеры их использования для анализа и обработки данных. Описана библиотека Matplotlib и ее возможности в сфере визуализации данных. Программистика || #Книги