В Python стрелки (
Пример:
Здесь:
*
*
Можно использовать любые типы из модуля
Аннотации никак не влияют на исполнение кода, это всего лишь type hints.
https://realpython.com/what-does-arrow-mean-in-python/
#python
👉 @python_real
->) используются в аннотациях функций для указания возвращаемого типа. Это не строгая проверка типов, а лишь подсказка для разработчиков и инструментов (например, mypy, IDE).Пример:
def greet(name: str) -> str:
return "Hello, " + name
Здесь:
*
name: str — аргумент name должен быть строкой.*
-> str — функция возвращает строку.Можно использовать любые типы из модуля
typing или collections.abc, например:
from typing import List, Dict, Optional
def get_users() -> List[str]:
return ["Alice", "Bob"]
def find_user(user_id: int) -> Optional[Dict[str, str]]:
if user_id == 1:
return {"name": "Alice"}
return None
Аннотации никак не влияют на исполнение кода, это всего лишь type hints.
https://realpython.com/what-does-arrow-mean-in-python/
#python
👉 @python_real
👍4
🚀 FastAPI - современный асинхронный веб-фреймворк на Python, который позволяет создавать быстрые и удобные API.
Статья от Real Python даёт отличное введение в работу с FastAPI: от установки и запуска первого приложения до обработки запросов и валидации данных с помощью Pydantic. Разбираются основы маршрутизации, использование Swagger UI для документации и преимущества асинхронности.
Если вы хотите быстро стартовать с созданием API на Python, этот гайд - отличный первый шаг.
https://realpython.com/get-started-with-fastapi/
#python
👉 @python_real
Статья от Real Python даёт отличное введение в работу с FastAPI: от установки и запуска первого приложения до обработки запросов и валидации данных с помощью Pydantic. Разбираются основы маршрутизации, использование Swagger UI для документации и преимущества асинхронности.
Если вы хотите быстро стартовать с созданием API на Python, этот гайд - отличный первый шаг.
https://realpython.com/get-started-with-fastapi/
#python
👉 @python_real
👍1
25 сентября(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
268: Advice on Beginning to Learn Python
The Real Python Podcast
Episode 268: Advice on Beginning to Learn Python
Что изменилось в обучении Python за последние несколько лет? Какие новые подходы и обновлённые советы стоит знать новичкам, начинающим свой путь в программировании? На этой неделе в подкасте Стивен Группетта и Мартин Брёус вновь обсуждают, как начать изучать Python.
Мы делимся методами поиска мотивации, построения собственных проектов и освоения основ языка. Даём советы по установке Python и объясняем, почему не стоит зацикливаться на выборе «идеального» редактора. Также рассматриваем, как использовать большие языковые модели (LLM) в процессе обучения программированию и практиковаться в умении задавать хорошие вопросы.
Topics:
00:00:00 – Introduction
00:02:36 – Martin’s teaching background
00:02:57 – Stephen’s teaching background
00:04:07 – Having a vested interest in learning
00:08:35 – No shortcut to learning the fundamentals
00:09:21 – Parallels to learning a foreign language
00:12:43 – What’s different about starting to learn Python now?
00:15:03 – Stephen’s journey to coaching and using LLMs
00:16:20 – Are LLMs helpful for learning?
00:18:50 – Teaching what you’ve learned to someone else
00:19:38 – Learning how to ask good questions
00:22:11 – Improved error messages
00:24:35 – REPL: Read Evaluate Print Loop
00:26:33 – Video Course Spotlight
00:27:48 – Installing Python and choosing an editor
00:35:16 – Considering the scale of beginner projects
00:37:39 – Should a beginner be concerned with making Pythonic code?
00:40:55 – Using LLM tools and defining your level of skill
00:42:39 – Python for Beginners: Code With Confidence - live course
00:47:32 – Looking at projects - Awesome Python
00:48:02 – Asking an LLM to explain the code generated
00:50:46 – Debuggers and seeing code run
00:51:23 – Thanks and goodbye
https://realpython.com/podcasts/rpp/268/
#python
👉 @python_real
Что изменилось в обучении Python за последние несколько лет? Какие новые подходы и обновлённые советы стоит знать новичкам, начинающим свой путь в программировании? На этой неделе в подкасте Стивен Группетта и Мартин Брёус вновь обсуждают, как начать изучать Python.
Мы делимся методами поиска мотивации, построения собственных проектов и освоения основ языка. Даём советы по установке Python и объясняем, почему не стоит зацикливаться на выборе «идеального» редактора. Также рассматриваем, как использовать большие языковые модели (LLM) в процессе обучения программированию и практиковаться в умении задавать хорошие вопросы.
Topics:
00:00:00 – Introduction
00:02:36 – Martin’s teaching background
00:02:57 – Stephen’s teaching background
00:04:07 – Having a vested interest in learning
00:08:35 – No shortcut to learning the fundamentals
00:09:21 – Parallels to learning a foreign language
00:12:43 – What’s different about starting to learn Python now?
00:15:03 – Stephen’s journey to coaching and using LLMs
00:16:20 – Are LLMs helpful for learning?
00:18:50 – Teaching what you’ve learned to someone else
00:19:38 – Learning how to ask good questions
00:22:11 – Improved error messages
00:24:35 – REPL: Read Evaluate Print Loop
00:26:33 – Video Course Spotlight
00:27:48 – Installing Python and choosing an editor
00:35:16 – Considering the scale of beginner projects
00:37:39 – Should a beginner be concerned with making Pythonic code?
00:40:55 – Using LLM tools and defining your level of skill
00:42:39 – Python for Beginners: Code With Confidence - live course
00:47:32 – Looking at projects - Awesome Python
00:48:02 – Asking an LLM to explain the code generated
00:50:46 – Debuggers and seeing code run
00:51:23 – Thanks and goodbye
https://realpython.com/podcasts/rpp/268/
#python
👉 @python_real
👍1
9 октября(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍 Что нового в Python 3.14
Python 3.14 принес кучу интересных обновлений, которые делают язык ещё мощнее и удобнее для разработчиков. Вот краткий обзор:
🔹 Новый модуль
🔹 Оптимизации скорости — Python продолжает становиться быстрее. Улучшения в байткоде и оптимизация работы с коллекциями дают заметный прирост производительности.
🔹 Новые возможности аннотаций типов — улучшена работа с типами
🔹 Расширения для pattern matching — теперь можно использовать ещё более гибкие шаблоны, особенно для сложных структур данных.
🔹 Изменения в работе GIL — продолжается подготовка к многопоточному Python без GIL в будущем.
https://realpython.com/python314-new-features/
#python
👉 @python_real
Python 3.14 принес кучу интересных обновлений, которые делают язык ещё мощнее и удобнее для разработчиков. Вот краткий обзор:
🔹 Новый модуль
tomllib — теперь можно парсить TOML прямо из стандартной библиотеки без сторонних зависимостей.🔹 Оптимизации скорости — Python продолжает становиться быстрее. Улучшения в байткоде и оптимизация работы с коллекциями дают заметный прирост производительности.
🔹 Новые возможности аннотаций типов — улучшена работа с типами
TypeAliasType, а также добавлены новые инструменты для статического анализа.🔹 Расширения для pattern matching — теперь можно использовать ещё более гибкие шаблоны, особенно для сложных структур данных.
🔹 Изменения в работе GIL — продолжается подготовка к многопоточному Python без GIL в будущем.
https://realpython.com/python314-new-features/
#python
👉 @python_real
👍4❤1👏1😁1🆒1
Приглашаем на открытый урок.
🗓 27 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Python Developer. Professional».
Даже опытные разработчики порой создают код, который работает — но жить с ним потом невозможно. На открытом уроке разберём типичные ошибки и антипаттерны в Python, поговорим о причинах появления «плохого» кода и способах сделать его понятнее, стабильнее и быстрее. Рассмотрим как распространённые, так и неожиданные примеры, которые помогут взглянуть на привычные решения под новым углом.
На вебинаре разберём:
В результате вебинара вы:
🔗 Ссылка на регистрацию: https://vk.cc/cQxmGa
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🤣1
Шахматы, которые вас удивят: Полный гайд по созданию игры с туманом войны на Python
Всё началось с подготовки к финалу RuCode – масштабному соревнованию для всех увлечённых алгоритмическим программированием. Погружаясь в разбор заданий прошлых лет, мне кое-что совершенно случайно попало в руки, интересная задача: реализовать шахматы с "туманом войны" в консоли
Идея показалась мне настолько вдохновляющей, что я решил пойти дальше, а что если превратить эту консольную головоломку в настоящую игру с графикой и той самой атмосферой тумана войны, который так знаком игрокам в стратегиях
Идея зацепила сразу, представьте классические шахматы, но с элементом неожиданности. Вы не видите все фигуры противника, а только те клетки, куда могут ступить ваши фигуры. Каждый ход превращается в тактическую загадку, что скрывается в темноте? Где спрятался вражеский ферзь? и т.д.
Так обычная подготовка к соревнованиям превратилась в увлекательный эксперимент, результатом которого стала эта статья и реализация шахмат с туманом войны на Python
https://habr.com/ru/articles/958560/
#python
👉 @python_real
Всё началось с подготовки к финалу RuCode – масштабному соревнованию для всех увлечённых алгоритмическим программированием. Погружаясь в разбор заданий прошлых лет, мне кое-что совершенно случайно попало в руки, интересная задача: реализовать шахматы с "туманом войны" в консоли
Идея показалась мне настолько вдохновляющей, что я решил пойти дальше, а что если превратить эту консольную головоломку в настоящую игру с графикой и той самой атмосферой тумана войны, который так знаком игрокам в стратегиях
Идея зацепила сразу, представьте классические шахматы, но с элементом неожиданности. Вы не видите все фигуры противника, а только те клетки, куда могут ступить ваши фигуры. Каждый ход превращается в тактическую загадку, что скрывается в темноте? Где спрятался вражеский ферзь? и т.д.
Так обычная подготовка к соревнованиям превратилась в увлекательный эксперимент, результатом которого стала эта статья и реализация шахмат с туманом войны на Python
https://habr.com/ru/articles/958560/
#python
👉 @python_real
👍4🔥1🤔1
Короче, ищем менторов — Senior Python-разработчиков
Ищем в ШОРТКАТ — менторскую платформу от команды разработчиков из бигтеха. Мы помогаем найти крутую работу, апнуть грейд или сменить стек.
Что надо будет делать: проводить тестовые собесы → оценивать грейд → помогать разбираться в сложных темах.
Что взамен:
- От 40К за 5-7 часов работы в неделю
- Доступ к обучению и комьюнити сильных менторов из Яндекс, Uber, VK, Сбер
- Возможность выступать на эфирах, куда уже приходят 500+ разработчиков, и стать заметнее на рынке
Заполняй форму — свяжемся и расскажем подробности ➡️https://tally.so/r/mD602X
Реклама.
О рекламодателе.
Ищем в ШОРТКАТ — менторскую платформу от команды разработчиков из бигтеха. Мы помогаем найти крутую работу, апнуть грейд или сменить стек.
Что надо будет делать: проводить тестовые собесы → оценивать грейд → помогать разбираться в сложных темах.
Что взамен:
- От 40К за 5-7 часов работы в неделю
- Доступ к обучению и комьюнити сильных менторов из Яндекс, Uber, VK, Сбер
- Возможность выступать на эфирах, куда уже приходят 500+ разработчиков, и стать заметнее на рынке
Заполняй форму — свяжемся и расскажем подробности ➡️https://tally.so/r/mD602X
Реклама.
О рекламодателе.
👍1🤮1
YAML: The Missing Battery in Python
YAML (YAML Ain’t Markup Language) - это человекочитаемый формат сериализации данных, который часто используется для файлов конфигураций, обмена данными между языками и управления инфраструктурой (например, в Docker, Kubernetes и т. д.).
В Python с YAML удобно работать с помощью библиотеки PyYAML. Она позволяет:
- читать YAML-файлы и преобразовывать их в стандартные Python-объекты (
- записывать данные обратно в YAML;
- безопасно загружать данные с помощью
- использовать настраиваемые объекты и теги для сериализации нестандартных типов.
Пример загрузки YAML-файла:
Пример записи:
Также PyYAML поддерживает:
- настройку форматирования вывода (
- пользовательские конструкторы и представления (
- и интеграцию с другими инструментами DevOps.
https://realpython.com/python-yaml/
#python
👉 @python_real
YAML (YAML Ain’t Markup Language) - это человекочитаемый формат сериализации данных, который часто используется для файлов конфигураций, обмена данными между языками и управления инфраструктурой (например, в Docker, Kubernetes и т. д.).
В Python с YAML удобно работать с помощью библиотеки PyYAML. Она позволяет:
- читать YAML-файлы и преобразовывать их в стандартные Python-объекты (
dict, list, str, и т. д.);- записывать данные обратно в YAML;
- безопасно загружать данные с помощью
safe_load() (чтобы избежать выполнения произвольного кода);- использовать настраиваемые объекты и теги для сериализации нестандартных типов.
Пример загрузки YAML-файла:
import yaml
with open("config.yaml", "r") as f:
config = yaml.safe_load(f)
print(config)
Пример записи:
import yaml
data = {"name": "Oleg", "skills": ["Python", "AI", "ML"]}
with open("output.yaml", "w") as f:
yaml.dump(data, f)
Также PyYAML поддерживает:
- настройку форматирования вывода (
default_flow_style=False, indent и т. д.),- пользовательские конструкторы и представления (
add_constructor, add_representer),- и интеграцию с другими инструментами DevOps.
https://realpython.com/python-yaml/
#python
👉 @python_real
👍2
👩💻 Асинхронное взаимодействие в Python на примере RabbitMQ
Приглашаем на открытый урок.
🗓 10 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Python Developer. Professional».
Асинхронное взаимодействие — один из ключевых принципов микросервисной архитектуры, который позволяет системам работать быстрее и надёжнее. В Python этот подход реализуется с помощью инструментов, таких как RabbitMQ.
На вебинаре разберём:
✔️ Основы микросервисной архитектуры приложений
✔️ Принципы асинхронного взаимодействия в микросервисной архитектуре
✔️ Практический пример использования RabbitMQ для организации обмена сообщениями между сервисами
В результате вебинара вы:
✔️ Поймёте, как работает асинхронное взаимодействие и зачем оно нужно
✔️ Научитесь использовать RabbitMQ для построения архитектуры приложений
✔️ Узнаете, какие преимущества и ограничения имеет асинхронный подход
🔗 Ссылка на регистрацию: https://vk.cc/cR0Dxw
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Приглашаем на открытый урок.
🗓 10 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Python Developer. Professional».
Асинхронное взаимодействие — один из ключевых принципов микросервисной архитектуры, который позволяет системам работать быстрее и надёжнее. В Python этот подход реализуется с помощью инструментов, таких как RabbitMQ.
На вебинаре разберём:
В результате вебинара вы:
🔗 Ссылка на регистрацию: https://vk.cc/cR0Dxw
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM