Python RU
13.4K subscribers
869 photos
41 videos
36 files
1.12K links
Все для python разработчиков

админ - @haarrp

@python_job_interview - Python собеседования

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥лучшие ит-каналы

@programming_books_it - it книги

@pythonl

РКН: clck.ru/3Fmy2j
加入频道
DALL·E Flow — это модель, позволяющая создавать изображений высокой четкости из текста.

Github https://github.com/jina-ai/dalle-flow

Colab: https://colab.research.google.com/github/jina-ai/dalle-flow/blob/main/client.ipynb

@pro_python_code
🚀 @machinelearning_interview - здесь, где мы собираем все возможные вопросы и ответы с собеседований по Машинному обучению, нейронным сетям и Глубокому обучению. Для всех уровней разработчиков. Желающие помочь, могут присылать вопросы, с которыми они сталкивались на собеседованиях.

Посмотреть
⚡️ Профилируем код

Не можете найти слабое место у вашего алгоритма (не можете, поскольку его нет 😎)? Давайте тогда посмотрим на использование ресурсов с помощью scalene.

Установка: pip install scalene

Вам не нужно ничего добавлять в код, просто пишете scalene file.py и получаете вывод, как на фото выше. Преимущества и сравнение можно найти тут.

#миниурок #scalene
globals(), locals(), vars(), dir()

Программист на Python может узнать, какие именно переменные определенны в данный момент в интерпретаторе. Переменные можно разделить на локальные и глобальные. Глобальные определены на верхнем уровне кода снаружи функций и классов (грубо говоря без отступов слева). Локальные переменные наоборот определены внутри своих зон видимости, ограниченных классами и функциями.

Функция globals() выдает словарь глобальных переменных (ключ – имя переменной). Функция locals() возвращает словарь только локальных переменных. Пример:

x, y = 5, 10
def test():
y, z = 33, 44
print('globals:', globals())
print('locals:', locals())
test()
"""Вывод:
globals: {'__name__': '__main__', ... '__file__': '/Users/.../vars.py', '__cached__': None, 'x': 5, 'y': 10, 'test': <function test at 0x107677280>}
locals: {'y': 33, 'z': 44}"""


Обратите внимание, что переменная y в locals() имеет другое значение, нежели чем в globals(). Это две разные переменные из разных областей, но внутри функции приоритет имеет локальная y.

Еще важно знать, что в список переменных входят не только простые переменные, которые вы определяете через знак присваивания, но и функции, классы и импортированные модули!

Через словари из locals() и globals() переменные можно не только читать, но и создавать, перезаписывать и удалять:

>>> x = 10
>>> globals()['x'] = 5
>>> x
5
>>> globals()['new_var'] = 10
>>> new_var
10
>>> del globals()['new_var']
>>> new_var
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'new_var' is not defined


Функция vars() ведет себя как locals(), если вызвана без аргумента, а если с аргументом, то она просто получает _ _ dict _ _ от аргумента. Если его нет у аргумента, то будет TypeError.

class Foo:
def __init__(self):
self.x = 5
f = Foo()
print(vars(f)) # {'x': 5}
print(vars(f) == f.__dict__) # True


В глобальном контексте все три функции возвращают одно и тоже – глобальные переменные. Проверьте:

print(globals())
print(locals())
print(vars())
print(globals() == locals() == vars()) # True


Функциия dir(), будучи вызвана без параметра, возвращает список имен переменных. Глобальных или локальных в зависимости от места вызова:

def test():
x = 10
print(dir()) # ['x']
y = 10
test()
print(dir()) # ['__annotations__', ..., '__spec__', 'test', 'y']


Все рассмотренные выше функции являются встроенными и не требуют импортов.

@pro_python_code
Каким будет результат выполнения кода?
Anonymous Quiz
34%
1
3%
21
2%
12
24%
2
6%
None
11%
Error
20%
Узнать ответ
jgramБиблиотека для написания телеграм ботов, что позволяет описывать их структуру в json файлах

Призвана ускорить написание ботов, и сделать их структуру более гибкой и понятной

Библиотека построена на базе aiogram2.21

Github

@pro_python_code | #Interesting #Python #Telegram #Bot
⚫️ Black - это библиотека для автоматического форматирования вашего Python кода, в соответствии с требованиями PEP8 🔥

Документация
Примеры кода

@pro_python_code
🐍🚀 Создаем рекрутинговый портал на Django: часть 1

Разрабатываем портал, на котором каждый рекрутер сможет найти своего разработчика :). Система поиска позволяет подобрать нужного специалиста по резюме, портфолио или описанию проектов; рейтинг проекта поможет оценить квалификацию, а мессенджер – послать оффер.

Читать дальше

@pro_python_code
Обнаружение лиц на Python в 19 строк кода.

Сперва не забудьте установить модуль cv2 командой pip install opencv-python
Затем при помощи этой крутой библиотеки, создайте HAAR Face Cascade.
При желании, можно также воспользоваться Eye & Mouth cascades для обнаружения глаз и рта, соответственно.

Дальше конвертируем исходное изображением в чёрно белое.
И скармливаем это всё в метод detectMultiScale.

Ну и как вы знаете, cv2 шикарно работает с видео потоком.
Так что можно создать, например, распознавание своего лица на видео потоке с камеры? :3
Вариантов много )))

Код со скрина здесь.

@pro_python_code
🐍🚀 Создаем рекрутинговый портал на Django: часть 2

В этой части: добавление обложек проектов с фронтенда, создание системы авторизации, разработка основной функциональности приложения «Пользователи» и связь проектов с профилями.

Читать
Часть 1

@pro_python_code
Python RU
globals(), locals(), vars(), dir() Программист на Python может узнать, какие именно переменные определенны в данный момент в интерпретаторе. Переменные можно разделить на локальные и глобальные. Глобальные определены на верхнем уровне кода снаружи функций…
В дополнение об областях видимости переменных

В отличие он некоторых других языков в Python блоки типа for, if, while, with не создают областей видимости (scope) для переменных, то есть переменная внутри и снаружи блока будет одна и та же:

x = 1
if True:
x = 2
print(x) # 2


Частая ошибка – затирание внешней переменной в цикле for:

i = 10
for i in range(5): # затирает i
...
print(i) # 4


Зоны видимости отделяются только функциями, классами и модулями. Здесь все переменные x – разные:

x = 1
class Foo:
x = 2
def method(self):
x = 3
return x
print(x, Foo.x, Foo().method()) # все 3 разные


Самая широкая зона видимости называется builtin. В нее попадают все имена, известные интерпретатору в данный момент, включая вещи импортированные из других модулей.

>>> from math import pi
>>> pi, id(pi)
(3.141592653589793, 4465320624)
>>> pi = 3
>>> pi, id(pi)
(3, 4462262880)
>>> from math import pi
>>> pi, id(pi)
(3.141592653589793, 4465320624)


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

Вы знали о всех этих особенностях?

@pro_python_code
TranslatorsPython библиотека, целью которой является бесплатный, множественный и приятный перевод

Он основан на интерфейсе перевода Google, Yandex, Microsoft (Bing), Baidu, Alibaba, Tencent, NetEase (Youdao), Sogou, Kingsoft (Iciba), Iflytek, Naver (Papago), Deepl, Reverso, Itranslate, Caiyun, Argos, TranslateCom, Utibet и многих других сервисов

Ссылка на проект

@pro_python_code | #Interesting #Python
Forwarded from Python Jobs
DevOps Engineer

Вакансия: В PREDICTO открыта вакансия

О компании:
Predicto с 2018 г. занимается анализом и сегментацией данных для крупных российских и иностранных клиентов. В этом году мы поставили себе амбициозную задачу разработки CDP и рекомендательной системы.
В нашей команде уже 13 сильных и классных ребят, но задач столько, что очень хотим еще!
📍Senior+ (важно)
📍в классном офисе в Москве/гибрид;
📍250-400+ руб., белая ЗП или ИП;
📍большой датасет, интересные задачи, возможность влиять на продукт.

Что нужно делать:
- Участие в построение платформы данных Predicto на всех этапах, включая проектирование, разработку и эксплуатацию;
- Ведущая роль в выстраивании экспертизы в области DevOps и SRE внутри компании и создании сильной команды;
- Автоматизация процессов сборки, тестирования и доставки компонентов платформы;
- Выстраивание DataOps и MLOps практик для обеспечения высокого качества данных и эксплуатации ML моделей в production’е.

Требования:
- Опыт работы и эксплуатации решений с одним из крупных публичных облаков (Яндекс Облако, AWS, GCP, Azure, Alibaba);
- Опыт работы с технологиями big data стека (в первую очередь Apache Spark) и экосистемой Python’а для data science;
- Понимание принципов контейнеризации, опыт эксплуатации решений с Docker’ом и кластерами Kubernetes;
- Опыт построения CI/CD пайплайнов;
- Понимание IaC подхода к управлению инфраструктурой, опыт работы с Terraform’ом;
- Понимание и использование принципов безопасности для облачных окружений.

Будет плюсом:
- Опыт работы с Яндекс.Облаком;
- Опыт развития команды и выстраивания DevOps и SRE практик;
- Опыт работы с реляционными и нереляционными базами данных, знание SQL;
- Опыт разработки и поддержки высоконагруженных сервисов;
- Знание инструментов и методов MLOps, опыт эксплуатации ML-intensive приложений в production.


Присылайте CV в telegram: @fedosovaAS

@python_djangojobs
🐍🚀 Создаем рекрутинговый портал на Django: часть 3
В заключительной части: создание мессенджера, реализация поиска по профилям и проектам, отзывы и пагинация.


Читать
Читать 2
Часть 1

@pro_python_code
This media is not supported in your browser
VIEW IN TELEGRAM
🎇 Продвинутый уровень визуализации данных для Data Science на Python

Как сделать крутые, полностью интерактивные графики с помощью одной строки Python.

Когнитивное искажение о невозвратных затратах (sunk cost fallacy) является одним из многих вредных когнитивных предубеждений, жертвой которых становятся люди. Это относится к нашей тенденции продолжать посвящать время и ресурсы проигранному делу, потому что мы уже потратили — утонули — так много времени в погоне. Заблуждение о заниженной стоимости применимо к тому, чтобы оставаться на плохой работе дольше, чем мы должны, рабски работать над проектом, даже когда ясно, что он не будет работать, и да, продолжать использовать утомительную, устаревшую библиотеку построения графиков — matplotlib — когда существуют более эффективные, интерактивные и более привлекательные альтернативы.

 Читать дальше

@data_analysis_ml
DeepFaceDrawing — нейросеть, которая позволяет создавать реалистичные изображения лиц из набросков от руки

Метод отрисовки по существу использует входные эскизы в качестве «мягких» ограничений и, таким образом, способен создавать высококачественные изображения лиц даже из грубых и/или неполных эскизов. Данный инструмент прост в использовании даже для тех кто не рисует, сохраняя при этом тонкое управление деталями формы

#GitHub | #Python #Interesting

@pro_python_code
Каким будет результат выполнения кода?
Anonymous Quiz
5%
0
6%
1
15%
2
13%
3
3%
4
11%
5
11%
7
3%
None
10%
Error
22%
Узнать ответ