Python Lounge: работа и стажировки для программистов
Open in Telegram
Здесь можно найти интересующую вас работу и стажировки для программистов, а так же полезные статьи про Python. Размещение вакансии только - @perezvonyubot Ссылка на канал: @python_lounge Мы входим в сеть promopoisk.com Реклама: @adtgassetsbot
Show more4 245
Subscribers
No data24 hours
-157 days
-6530 days
Posts Archive
🖥️13 GUI-библиотек Python.🐍
📖Python поддерживает множество парадигм программирования, включая:
- объектно-ориентированную;
- императивную;
- функциональную;
- процедурную.
Графический интерфейс пользователя (GUI)
GUI это человеко-компьютерный интерфейс. Другими словами, это способ, с помощью которого люди могут взаимодействовать с компьютерами.
Он использует окна, значки, меню. Манипулировать GUI можно как с помощью мышки, так и с помощью клавиатуры.
1. Tkinter
Tkinter это набор инструментов, который может формировать GUI с помощью Python. Он позволяет вам запускать сценарии на Python в GUI-формате. Ссылка ведет на страницу с руководством по Tkinter.
2. Flexx
Многие GUI-библиотеки Python основаны на библиотеках, написанных на других языках, таких как C ++. Например, wxWidgets и libavg. Flexx создана на Python. Для отображения GUI использует веб-технологию.
3. CEF Python
Этот фреймворк нацелен на Windows, MAC OS и Linux. Основан на Google Chromium. Основное внимание в нем уделяется облегчению использования встроенного браузера в сторонних приложениях.
4. Dabo
Цель этого фреймворка – WxPython. Это трехуровневый фреймворк для разработки кросс-платформенных приложений.
5. Kivy
Kivy основан на OpenGL ES 2. У него есть собственный multi-touch для каждой отдельной платформы. Это событийно-ориентированный фреймворк, который прекрасно подходит для разработки игр.
6. Pyforms
Pyforms это фреймворк Python 2.7/3.x для разных окружений, используемый для разработки GUI приложения. В нем поощряется повторное использование кода.
7. PyGObject
С помощью PyGObject вы можете писать на Python приложения для проекта GNOME. Также можно писать приложения на Python, использующие GTK+.
8. PyQt
Qt это кросс-платформенный фреймворк. Он написан на С++. Это очень полная библиотека, включающая много инструментов и API. Широко используется во многих отраслях. Охватывает множество платформ.
9. PySide
Обёртка для Qt. PySide и PyQt отличаются тем, что последний является коммерчески доступным.
10. PyGUI
PyGUI предназначен для платформ Unix, Macintosh и Windows. Фокус этого MVC-фреймворка заключается в том, чтобы вписываться в экосистему Python с максимальной легкостью.
11. libavg
Это сторонняя библиотека, написанная на С++. Обладает следующими особенностями:
показ элементов в форме переменных Python;
система управления событиями;
таймеры;
поддержка логов.
12. PyGTK | PyGObject
«GTK+», широко используемая в Linux, является «GTK + «обёртка из» PyGTK». По сравнению с Kivy и PyQt, PyGTK очень легок для платформ Unix, Macintosh, Windows.
Этот MVC-фреймворк разработан Грегом Эвингом из университета Кентербери (Новая Зеландия). Его главный фокус – как можно более простая адаптация к экосистеме Python.
13. wxPython
Обертка кросс-платформенного GUI для Python на основе wxWidgets. Написана на С++.
🚀Обсудить тему можно в нашем <чате>.🚀
Как создавать сложные web-сайты на Python?
Первые шаги в этой специальности вы сделаете уже 15 марта на демо-занятии «Использование сторонних библиотек в django». Вместе с Леонидом Орловым вы рассмотрите общие принципы установки и использования сторонних библиотек вместе с django, а также научитесь пользоваться несколькими популярными библиотеками (django-debug-toolbar, django-cms, django-cleanup).
Демо-занятие является часть онлайн-курса «Python Web-Developer» и дает возможность познакомиться с преподавателем и оценить курс.
Для участия пройдите вступительный тест https://otus.pw/I5F9T/
🐍Python (+numba) быстрее Си🚀
Главным недостатком питона принято считать его скорость. Разгонять python с переменным успехом стали чуть ли не с первых дней его существования: shedskin, psyco, unladen shallow, parakeet, theano, nuitka, pythran, cython, pypy, numba.
https://telegra.ph/Python-numba-bystree-Si-03-04
Обсудить можно в нашем чате .
Статья рекомендуется всем тем, кто проводит много времени сидя на компьютером, да и не только, потому что поддерживать своё состояние необходимо всем
Здоровье программиста
Работаешь 5 дней в неделю с 9 до 18?
Присоединяйся в общество Офисного Планктона — канал ведут обычные труженики офиса (возможно, кто-то из твоих коллег).
Ребята пилят мемы и травят офисные истории, чтобы разрядить рабочую суету.
Весь коллектив подписался, твоя очередь: @office_story
Dino Game с использованием Python.
Перед запуском игры убедитесь, что вы скачали модуль Pygame
code here
Обсудить можно в нашем чате
Насколько востребованы сейчас Web-разработчики на Python?
4 марта Леонид Орлов, главный разработчик zval ru, проведет обзор рынка труда и поделится карьерными инсайтами с теми, кому интересно специализироваться на web-разработке. Эксперт представит программу онлайн-курса «Python Web-Developer», расскажет о проектных работах и чем курс отличается от остальных. В конце встречи у вас будет возможность приобрести курс по спец.цене.
Регистрируйтесь на вебинар https://otus.pw/Qyeo/
Перед мероприятием рекомендуем пройти вступительный тест, который покажет, достаточно ли вашей подготовки для обучения.
#вакансия
Отличная вакансия моих знакомых, рекомендую
Senior Python Developer (Django) в OSLA
Растущий стартап, строим единорога! Компания OSLA занимается разработкой одноименной SaaS платформы.
Обязанности:
- Анализ функциональных требований;
- Проектирование архитектуры и разработка серверной части приложения;
- Интеграция с API внешних сервисов;
- Участие в формировании команды разработчиков;
- Участие в формировании workflow и средств взаимодейтсвия.
Требования:
- Опыт коммерческой разработки от 5 лет;
- Продвинутые знания Django, Django Rest Framework;
- Экспертный уровень знание SQL (Postgres)
- Опыт проектирования архитектуры бэкенда;
- Умение профилировать и оптимизировать код на Python, работа с репозиторием кода Git, опыт написания тестов;
- Опыт работы с распределенными очередями сообщений (Celery, RabbitMQ / Redis);
- Опыт настройки, оптимизации и мониторинга серверов.
- Умение разбираться в чужом коде, производить рефакторинг и оптимизацию, делать code-review;
Условия:
- З/П по итогам собеседования (от 150 000 рублей);
- Гибкий график с возможностью частично-удалённой работы;
- Офис в центре Санкт-Петербурга;
Отклик: @Stisaak
❗Про ООП и 3 кита в мире объектов и классов🐳.
Объектно-ориентированное программирование (далее ООП) считается одним из самых современных и совершенных подходов в этой области. Существовавшие до него процедурный и функциональный методы предполагали написание кода в одном файле. С развитием технологий программы становились все длиннее и длиннее, и разработчикам становилось сложнее поддерживать и изменять их. ООП решает эту проблему, разделяя кусок кода на отдельные сущности, называемые классами и объектами.
Классы и объекты — в чем отличие?
ООП внес в программирование никогда не существовавшие определения: класс и объект. Класс можно назвать типом данных, или — проще говоря — куском кода, имеющим характеристики, называемые полями класса и возможные действия — методы класса. Объект — это сущность, имеющая определенные свойства, принадлежит некоторому классу.
Три главных принципа ООП:
Существуют три главных понятия, называемых также «тремя китами ООП», без которых сама его концепция невозможна - инкапсуляция, наследование и полиморфизм. Без понимания работы этих основных принципов продвигаться дальше в изучении ООП сложно. Давайте коротко рассмотрим каждое из них.
👉 Инкапсуляция — принцип, позволяющий скрыть от пользователя реализацию некоторых методов и значения полей. В языке программирования C# для этого используются так называемые модификаторы доступа (public, private и т.д.).
👉 Наследование — принцип, позволяющий создать один класс на основе другого. Первый класс называется наследником, а второй – родителем. В классе-наследнике реализуются все методы и поля класса-родителя.
👉 Полиморфизм — принцип, позволяющий объектам с идентичным интерфейсом иметь различную реализацию. Полиморфизм добавляет несколько новых понятий: абстрактный/виртуальный метод и переопределение метода.
****
Абстрактный метод — метод, который должен быть реализован в классе-наследнике и не должен — в классе-родителе.
Виртуальный метод — метод, который может быть переопределен в классе-наследнике и может иметь (а может и не иметь) реализацию в классе-родителе.
Переопределение метода — изменение реализации виртуального метода.
📊PieChart (Круговая диаграмма)💡
Демонстрация базовой круговой диаграммы с использованием библиотеки matplotlib.
В дополнение к базовой круговой диаграмме эта демонстрация показывает несколько дополнительных функций:
- этикетки для срезов
- автоматическая маркировка процента
- смещение среза с помощью "разнесения"
тень
- настраиваемый начальный угол
Примечание о настраиваемом начальном угле:
По умолчанию начальный угол равен 0, что означает начало среза «лягушки» на положительной оси x. В этом примере задается startangle = 90, так что все вращается против часовой стрелки на 90 градусов, а срез лягушки начинается на положительной оси y.
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0)
fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode,
labels=labels, autopct='%1.1f%%',
shadow=True, startangle=90)
ax1.axis('equal')
plt.show()🚀Для чего нужна библиотека Pytest?!.💡
- Pytest: помогает писать лучшие программы
Инфраструктура pytest упрощает написание небольших тестов, но при этом масштабируется для поддержки сложного функционального тестирования приложений и библиотек.
📊Функции.
- Подробная информация о неудачных утверждениях assert (не нужно запоминать имена self.assert *)
- Автоматическое обнаружение тестовых модулей и функций
- Модульные приспособления для управления небольшими или параметризованными долгоживущими тестовыми ресурсами
- Может запускать модульные тесты (включая пробные) и тесты носа из коробки
- Python 3.6+ и PyPy 3
- Богатая архитектура плагинов, более 315+ внешних плагинов и процветающее сообщество
📖Документация
Полную документацию, включая установку, руководства и PDF-документы, см. В разделе «Содержание».
⛔Ошибки / запросы
Используйте трекер проблем GitHub, чтобы отправлять сообщения об ошибках или запрашивать функции.
🕔Журнал изменений
Обратитесь к странице журнала изменений для исправлений и улучшений каждой версии.
✅Поддержка pytest
Open Collective - это онлайн-платформа для финансирования открытых и прозрачных сообществ. Он предоставляет инструменты для сбора денег и полной прозрачности делиться своими финансами.
Это предпочтительная платформа для частных лиц и компаний, которые хотят делать разовые или ежемесячные пожертвования непосредственно в проект.
Подробности смотрите в коллективе pytest.
pytest для предприятия
Доступно как часть подписки Tidelift.
Сопровождающие pytest и тысячи других пакетов работают с Tidelift, чтобы обеспечить коммерческую поддержку и обслуживание зависимостей с открытым исходным кодом, которые вы используете для создания своих приложений. Экономьте время, снижайте риски и улучшайте работоспособность кода, оплачивая при этом те, кто поддерживает именно те зависимости, которые вы используете.
🔓Безопасность
pytest никогда не был связан с уязвимостью безопасности, но в любом случае, чтобы сообщить об уязвимости безопасности, используйте контактное лицо по безопасности Tidelift. Tidelift будет координировать исправление и раскрытие информации.
Лицензия
Авторское право Holger Krekel и др., 2004-2020.
Распространяемый по условиям лицензии MIT, pytest является бесплатным программным обеспечением с открытым исходным кодом.
Как за 4 дня найти работу в IT?
Никак. Прокачивайте свои скиллы и работодатели найдут вас сами.
Поможет канал Твой Программист, где вы получите:
• уроки и лайфхаки для прогеров
• коммьюнити, которое подскажет, «чё не так с этим кодом»
• юмор и мемы, которые понимают только айтишники
Подпишитесь – это лучший способ прокачаться и устроиться прогером, как 75% читателей канала.
🚀Для чего нужна библиотека Pytest?!.💡
- Pytest: помогает писать лучшие программы
Инфраструктура pytest упрощает написание небольших тестов, но при этом масштабируется для поддержки сложного функционального тестирования приложений и библиотек.
📊Функции.
- Подробная информация о неудачных утверждениях assert (не нужно запоминать имена self.assert *)
- Автоматическое обнаружение тестовых модулей и функций
- Модульные приспособления для управления небольшими или параметризованными долгоживущими тестовыми ресурсами
- Может запускать модульные тесты (включая пробные) и тесты носа из коробки
- Python 3.6+ и PyPy 3
- Богатая архитектура плагинов, более 315+ внешних плагинов и процветающее сообщество
📖Документация
Полную документацию, включая установку, руководства и PDF-документы, см. В разделе «Содержание».
⛔Ошибки / запросы
Используйте трекер проблем GitHub, чтобы отправлять сообщения об ошибках или запрашивать функции.
🕔Журнал изменений
Обратитесь к странице журнала изменений для исправлений и улучшений каждой версии.
✅Поддержка pytest
Open Collective - это онлайн-платформа для финансирования открытых и прозрачных сообществ. Он предоставляет инструменты для сбора денег и полной прозрачности делиться своими финансами.
Это предпочтительная платформа для частных лиц и компаний, которые хотят делать разовые или ежемесячные пожертвования непосредственно в проект.
Подробности смотрите в коллективе pytest.
pytest для предприятия
Доступно как часть подписки Tidelift.
Сопровождающие pytest и тысячи других пакетов работают с Tidelift, чтобы обеспечить коммерческую поддержку и обслуживание зависимостей с открытым исходным кодом, которые вы используете для создания своих приложений. Экономьте время, снижайте риски и улучшайте работоспособность кода, оплачивая при этом те, кто поддерживает именно те зависимости, которые вы используете.
🔓Безопасность
pytest никогда не был связан с уязвимостью безопасности, но в любом случае, чтобы сообщить об уязвимости безопасности, используйте контактное лицо по безопасности Tidelift. Tidelift будет координировать исправление и раскрытие информации.
Лицензия
Авторское право Holger Krekel и др., 2004-2020.
Распространяемый по условиям лицензии MIT, pytest является бесплатным программным обеспечением с открытым исходным кодом.
📄Топ проектов которые украсят и добавят ценности в ваше портфолио python-разработчика.🚀
1. Aгрегатор контента - Агрегатор контента - это физическое лицо или организация, которые собирают веб-контент (и / или иногда приложения) из различных онлайн-источников для повторного использования или перепродажи. Есть два типа агрегаторов контента: (1) те, которые просто собирают материалы из различных источников для своих веб-сайтов, и (2) те, которые собирают и распространяют контент в соответствии с потребностями своих клиентов.
2. Сокращатель URL - Сокращение URL-адресов - это метод во всемирной паутине, в котором унифицированный указатель ресурса (URL) может быть существенно короче и по-прежнему направлен на требуемую страницу. Это достигается с помощью перенаправления, которое ведет на веб-страницу с длинным URL-адресом.
3. Решатель Судоку - Стандартный судоку содержит 81 ячейку в сетке 9 × 9 и 9 прямоугольников, каждое из которых является пересечением первых, средних или последних 3 строк, а также первых, средних или последних 3 столбцов.
Существует несколько компьютерных алгоритмов, которые решают большинство головоломок 9 × 9 (n = 9) за доли секунды, но комбинаторный взрыв происходит при увеличении n, ограничивая свойства судоку, которые можно построить, проанализировать и решить как n увеличивается.
4. Приложение для уведомлений на рабочем столе - Уведомление на рабочем столе - это простое приложение, которое выдает уведомление в форме всплывающего сообщения на рабочем столе.
5. Файловый менеджер - компьютерная программа, предоставляющая интерфейс пользователя для работы с файловой системой и файлами. Файловый менеджер позволяет выполнять наиболее частые операции удаления над файлами - создание, открытие / воспроизведение / просмотр, редактирование, изменение, переименование, копирование, изменение атрибутов и свойств, файлов и назначение прав.
⚠️Именно проекты таких типов работодатели ценят в портфолио разработчиков, а наличие этих проектов в списке реализованных, даст вам весомые преимущества перед другими кандидатами.
🧐Почему Python хорош для веб-разработки?💡
Несмотря на то что в современном Вебе можно фактически без бэкенда — чисто на фронтенд-технологиях, на JavaScript — собрать себе single page application или progressive web application, все равно это слишком сложно, плохо индексируется и требует крутых разработчиков.Если мы хотим сделать сайт или сервис, мы используем комбинированный подход: у нас какой-то бэкенд осуществляет логику и создает веб-страницы и какой-то фронтенд рисует эти веб-страницы в браузере. И когда нам надо быстро это все на чем-то собрать, то выбора особо нет.
🤔Возможные варианты.
C#. Microsoft действительно молодцы, они сделали .NET Core и всячески ее продвигают. Но, во-первых, это новая кроссплатформенная технология, и там еще не все гладко. Во-вторых, это действительно дорого, разработчиков C# мало — просто потому, что она непопулярна.
Java. Это сложно. Сделать нормальный сайт на Java — это не 10 строчек кода, как на Python. Это много кода, это фреймворки, и нужно знать специфику настройки Java-серверов. В общем, сплошные боль и страдания.
PHP. В последних версиях он замечательный, но нельзя просто так взять и использовать PHP 7.2. Если обычный, не топовый разработчик делает сайт на PHP, он не будет писать только на 7.2: все равно придется читать какие-то учебники, туториалы, везде куча legacy-кода, и это не очень хорошо.
JavaScript и Node.js. Это замечательно и очень современно, когда один язык и на фронтенде, и на бэкенде. Только не очень стабильно. Node.js — хорошая штука, но проблематично развернуть ее в продакшене так, чтобы она не падала и работала устойчиво. Плюс, если мы хотим писать качественный код на JavaScript, нам нужен не JavaScript, а TypeScript. А вот TypeScript неожиданно сложный, при виде него у рядового разработчика вскипают мозги.
✅А вот преимущества python в веб разработке перед главным конкурентом PHP.
1. Продуманный дизайн
2. В простоте обучения Python выигрывает
3. Улучшенная структура
4. Python более читабельный стек
5. Синтаксис намного проще, чем PHP
6. Более простые и легкодоступные инструменты Инструменты отладки
7. Явный победитель в управлении пакетами
8. Лямбды, предоставляемые Python, дают преимущество перед PHР
9. Python более универсален, чем PHP
10. Огромная поддержка и сообщество
Что входит в базис для веб-разработки на Python
📄Веб-фреймворки Django, Flask, aiohttp, Tornado и т. д. (и знать о существовании остальных).
📄Протоколы и API: в первую очередь http, JSON-RPC, Protocol Buffers, gRPC.
📄ORM и миграции, реляционные базы данных, SQLAlchemy, SQL, PostgreSQL, MySQL.
📄Основы HTML, CSS, Bootstrap, а также JS-фреймворки и JQuery.
📄Принципы работы приложений на продакшене, тестирование, юнит-тесты, автотесты, системы контроля версий, git.
📺 Вы этого не знали, но Ютуб — крупнейшая бесплатная библиотека мира. Там все знания мира: от истории Вселенной, архитектуры Средневековья и до устройства полупроводников. Но 99% людей залипают в мемы, подборки аварий и идиотские челленджи.
Если вы не из тех людей — откройте для себя Ютуб заново. Научитесь программировать, изучайте устройство Интернета, разберитесь, как работают нейронные сети (спойлер: это не так уж и сложно).
Где искать эти лекции? Очень просто: их уже собрали чуваки с канала «Параллелограмм». Они вручную «пылесосят» русский Ютуб и собирают лучшие образовательные видео по программированию, веб-дизайну, искусственному интеллекту, безопасности.
Используйте Ютуб с умом, не занимайтесь ерундой и подписывайтесь: @prlgrm
🧐Почему Python хорош для веб-разработки?💡
Несмотря на то что в современном Вебе можно фактически без бэкенда — чисто на фронтенд-технологиях, на JavaScript — собрать себе single page application или progressive web application, все равно это слишком сложно, плохо индексируется и требует крутых разработчиков.Если мы хотим сделать сайт или сервис, мы используем комбинированный подход: у нас какой-то бэкенд осуществляет логику и создает веб-страницы и какой-то фронтенд рисует эти веб-страницы в браузере. И когда нам надо быстро это все на чем-то собрать, то выбора особо нет.
🤔Возможные варианты.
C#. Microsoft действительно молодцы, они сделали .NET Core и всячески ее продвигают. Но, во-первых, это новая кроссплатформенная технология, и там еще не все гладко. Во-вторых, это действительно дорого, разработчиков C# мало — просто потому, что она непопулярна.
Java. Это сложно. Сделать нормальный сайт на Java — это не 10 строчек кода, как на Python. Это много кода, это фреймворки, и нужно знать специфику настройки Java-серверов. В общем, сплошные боль и страдания.
PHP. В последних версиях он замечательный, но нельзя просто так взять и использовать PHP 7.2. Если обычный, не топовый разработчик делает сайт на PHP, он не будет писать только на 7.2: все равно придется читать какие-то учебники, туториалы, везде куча legacy-кода, и это не очень хорошо.
JavaScript и Node.js. Это замечательно и очень современно, когда один язык и на фронтенде, и на бэкенде. Только не очень стабильно. Node.js — хорошая штука, но проблематично развернуть ее в продакшене так, чтобы она не падала и работала устойчиво. Плюс, если мы хотим писать качественный код на JavaScript, нам нужен не JavaScript, а TypeScript. А вот TypeScript неожиданно сложный, при виде него у рядового разработчика вскипают мозги.
✅А вот преимущества python в веб разработке перед главным конкурентом PHP.
1. Продуманный дизайн
2. В простоте обучения Python выигрывает
3. Улучшенная структура
4. Python более читабельный стек
5. Синтаксис намного проще, чем PHP
6. Более простые и легкодоступные инструменты Инструменты отладки
7. Явный победитель в управлении пакетами
8. Лямбды, предоставляемые Python, дают преимущество перед PHР
9. Python более универсален, чем PHP
10. Огромная поддержка и сообщество
Что входит в базис для веб-разработки на Python
Веб-фреймворки Django, Flask, aiohttp, Tornado и т. д. (и знать о существовании остальных).
Протоколы и API: в первую очередь http, JSON-RPC, Protocol Buffers, gRPC.
ORM и миграции, реляционные базы данных, SQLAlchemy, SQL, PostgreSQL, MySQL.
Основы HTML, CSS, Bootstrap, а также JS-фреймворки и JQuery.
Принципы работы приложений на продакшене, тестирование, юнит-тесты, автотесты, системы контроля версий, git.
📄Mодуль cmath в python🚀
Математические функции, определенные в математическом модуле стандартной библиотеки Python, обрабатывают числа с плавающей запятой.
Для комплексных чисел библиотека Python содержит модуль cmath.
📌Функция polar ():
Эта функция возвращает полярное представление декартовой записи комплексного числа. Возвращаемое значение - это кортеж, состоящий из модуля и фазы.
import cmath
a = 2+4j
print (cmath.polar(a))
#>>>(4.47213595499958, 1.1071487177940904)
📌Функция phase ()
Эта функция возвращает угол против часовой стрелки между осью x и сегментом, соединяющим точку с исходной точкой. Угол представлен в радианах и находится между π и -π.
import cmath
a = 2 + 4j
print (cmath.phase(a))
#>>>1.10714871779
📌Функция rect ()
Эта функция возвращает декартово представление комплексного числа, представленного в полярной форме, то есть по модулю и фазе.
import cmath
a = 2+4j
print (cmath.rect(4.47213595499958, 1.1071487177940904))
#>>>(2+4j)
📌Функция sin ()
Эта функция возвращает тригонометрическое соотношение синуса для фазового угла, представленного в радианах.
import cmath
a = 2+4j
p = cmath.phase(a)
print (cmath.sin(p))
#>>>(0.894427191+0j)📄Mодуль cmath в python🚀
Математические функции, определенные в математическом модуле стандартной библиотеки Python, обрабатывают числа с плавающей запятой.
Для комплексных чисел библиотека Python содержит модуль cmath.
📌Функция polar ():
Эта функция возвращает полярное представление декартовой записи комплексного числа. Возвращаемое значение - это кортеж, состоящий из модуля и фазы.
import cmath
a = 2+4j
print (cmath.polar(a))
#>>>(4.47213595499958, 1.1071487177940904)
📌Функция phase ()
Эта функция возвращает угол против часовой стрелки между осью x и сегментом, соединяющим точку с исходной точкой. Угол представлен в радианах и находится между π и -π.
import cmath
a = 2 + 4j
print (cmath.phase(a))
#>>>1.10714871779
📌Функция rect ()
Эта функция возвращает декартово представление комплексного числа, представленного в полярной форме, то есть по модулю и фазе.
import cmath
a = 2+4j
print (cmath.rect(4.47213595499958, 1.1071487177940904))
#>>>(2+4j)
📌Функция sin ()
Эта функция возвращает тригонометрическое соотношение синуса для фазового угла, представленного в радианах.
import cmath
a = 2+4j
p = cmath.phase(a)
print (cmath.sin(p))
#>>>(0.894427191+0j)