Точка входа в программирование
20.6K subscribers
1.15K photos
204 videos
2 files
2.67K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Python vs C++: какой язык быстрее найдет все простые числа до миллиарда

Баттлы языков — извечная тема, которая никогда себя не изживет. Понятно, что язык программирования нужно выбирать под конкретные цели. Но если мы только учимся, можно попробовать решить какую-нибудь задачку с помощью двух разных инструментов — хотя бы для того чтобы понять, какой нравится больше.

Сегодня будем искать все простые числа до миллиарда с помощью кода на Python и C++. Если вы думаете, что результат совсем очевиден, то это не так. Подробности в статье: https://tprg.ru/IqbL

#python #cpp
Что такое утиная типизация

Простыми словами, утиная типизация — это когда в программировании нас интересует не то, как называется объект или к какому классу он относится, а то, что он умеет делать. Если объект ведет себя как утка — например, умеет крякать и плавать, — то для программы он и есть утка, даже если это совсем другой объект. Ведь, если оно выглядит как утка, плавает как утка и крякает как утка, то это, наверное, утка.

В Python типы объектов проверяются не заранее (как в некоторых других языках), а прямо во время работы программы за счет динамической типизации. Утиная типизация в Python означает, что вы можете использовать любой объект в коде, если у него есть нужные вам методы или свойства. Python не заставляет вас говорить: «Это должна быть утка». Ему достаточно, что объект умеет делать то, что вы от него хотите.

Представьте, что у вас есть функция:

def заставить_крякать(объект):
объект.крякать()


Эта функция ожидает, что у объекта будет метод крякать(). Теперь создадим два класса:

class Утка:
def крякать(self):
print("Кря-кря!")

class Человек:
def крякать(self):
print("Эээ... Кря-кря?")


И используем их:

утка = Утка()
человек = Человек()

заставить_крякать(утка) # Вывод: Кря-кря!
заставить_крякать(человек) # Вывод: Эээ... Кря-кря?


Функция заставить_крякать работает и с Утка, и с Человек, потому что у обоих есть метод крякать(). Python не проверяет, утка это или человек, — ему важно только, что метод есть.

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

#простымисловами #python
17 шагов по созданию своего первого Open Source проекта на Python

Наверняка в процессе обучения у вас накопились идеи, которые вам хотелось бы реализовать. Возможно, это даже что-то, что может улучшить разработку вам и окружающим.

Если так, то к этом стоит подойти ответственно и без спешки. Для этого рекомендую составить план, а ещё познакомиться с этой статьей. Она поможет вам правильно организовать процесс, чтобы преуспеть.

#python
Что такое FastAPI

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

FastAPI заслужил свою популярность благодаря нескольким ключевым преимуществам:

— Он построен на современных технологиях, что делает его одним из самых быстрых фреймворков для Python. Это особенно важно для проектов, где скорость ответа критична.
— Для создания базового API достаточно написать всего несколько строк кода. Это снижает порог входа для новичков и ускоряет разработку.
— FastAPI автоматически генерирует интерактивную документацию (например, в формате Swagger), которая позволяет другим разработчикам легко понять, как работает ваш API, и протестировать его прямо в браузере.

FastAPI предлагает множество возможностей, которые делают его универсальным инструментом для самых разных задач: интеграцию БД, автоматическую проверку входных данных, масштабируемость.

Чтобы показать, насколько просто начать работать с FastAPI, вот пример минимального кода:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
return {"message": "Привет, мир!"}


Если запустить этот код и открыть в браузере адрес https://localhost:8000, вы увидите JSON-ответ: {"message": "Привет, мир!"}. А если перейти по адресу https://localhost:8000/docs, вы получите доступ к автоматически сгенерированной документации.

#простымисловами #fastapi #python
Разработка DHCP-сервера на Python

Сегодня мы рассмотрим, как создать собственный DHCP‑сервер на Python. Суть сервера проста — он динамически раздаёт IP‑адреса устройствам в сети, избавляя нас от головной боли статической конфигурации. Он будет ловить DHCP‑запросы от клиентов, выбирать свободный IP из заранее подготовленного пула и подтверждать выдачу. Так мы убъем двух зайцев: и с питоном поупражняемся, и с работой сетей поближе познакомимся.

Начинаем тут.

Ставь ❤️, если любишь практиковаться с питоном.

#python
Ваш первый бэкенд на Django — пошаговый учебник

Бесплатный самоучитель по Django, созданный специально для новичков. Шаг за шагом вы создадите веб-приложение (блог) на Python с использованием фреймворка Django.

По ходу дела объясняются все необходимые основы — от базового Python до шаблонов HTML/CSS. К концу у вас будет собственный рабочий блог на сервере и понимание принципов бэкенд-разработки.

#бэкенд #python #django
Гайд по обработке данных с помощью Pandas. Часть 1

Работаем с таблицами в Python: читаем CSV, фильтруем строки, группируем и визуализируем. Пошаговый разбор возможностей библиотеки Pandas, которую обязательно нужно знать любому дата-аналитику.

#pandas@prog_point #python@prog_point #анализданных@prog_point
Программирование для всех: учим Python с нуля

Это один из самых популярных вводных курсов по программированию, где в качестве первого языка используется Python. Материал объясняется очень доступно: вы начнёте с простых концепций (переменные, циклы) и постепенно напишете первые программы для обработки данных.

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

https://www.py4e.com/

А ещё там ссылки на множество других бесплатных материалов и курсов для изучения Python.

#python@prog_point
Просто о сложном: Основы архитектуры Python-приложений

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

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

Обо всём этом — в данном гайде

#теория@prog_point #python@prog_point
Зачем учить Python в 2025: Плюсы и минусы языка и перспективы карьеры в IT

Егор Векслер — Python-разработчик, инстаграм блогер, знаменитый юмористическими видео и простым объяснением сложных IT терминов. В этом видео он также просто объясняет зачем сегодня нужен Python, плюсы и минусы языка, стоит ли вкатывать в него новичку и много другое.

Если вы хотите вкатиться в IT, но до конца не знаете в какое направление и с каким языком, то это видео обязательно к просмотру.

#python@prog_point
Большое учебное пособие по виртуальному окружению в Python

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

В этом руководстве вы узнаете, как работать с venv Python для создания отдельных виртуальных сред для ваших проектов на Python и управлять ими.

#venv #python
«Свой Minecraft» на Python: проще, чем кажется

Хотелось бы сделать собственную песочницу, но перспектива разбираться с тяжёлым 3D-движком ставит крест на мечте? Не спешите закрывать IDE. Оказывается, чтобы собрать базовый «Minecraft-like» мир, хватит чистого Python и библиотеки Ursina Engine.

С помощью этой статьи вы узнаете, как за один вечер поднять движок, генерировать бесконечный ландшафт, добавить освещение и даже «ломать» блоки — без сложных шейдеров и C++. А ещё, где Ursina экономит время: готовые компоненты для ввода, анимации и GUI позволяют сконцентрироваться на логике игры, а не на низкоуровневой графике.

#gamedev #python #ursina
Свой «Чёрное зеркало»: пишем симулятор жизни на чистом Python

В 7-м сезоне «Чёрного зеркала» показали программиста, запустившего мир с разумными существами. Почему бы не попробовать повторить такое у себя дома? Автор этой статьи собрал мини-вселенную на Python и заставил ИИ-агента выживать в процедурном ландшафте 20×20 клеток. Никаких сложных движков: карта на эмодзи, пошаговая логика и один гигантский промпт, чтобы существо само ставило цели, добывало еду, крафтило лук из тростника и даже пыталось сварить «варенье из камней».

Что интересно:
— агент получает лишь минимальный набор действий (move, search, add_inventory…) — всё остальное он выдумывает сам;
— голод, жажда и комфорт растут в реальном времени, поэтому приходится строить укрытия и искать воду;
— «глобальные цели» задаёте вы: от «собрать копьё» до «построить робота» — и наблюдаете, как ИИ лихо выкручивается;
— следующий шаг — несколько агентов, которые придумают собственный язык эмодзи и начнут торговать или воевать.

Если мечтали о симуляции с минимальным кодом и максимумом веселья — самое время посмотреть, как это реализовано и забрать идею для своего проекта.

А какой ещё абсурдной целью вы бы испытали такого ИИ?

#python #gamedev #ии