Получи случайную криптовалюту за регистрацию!

PYTHON 🐍 DEPTH

Логотип телеграм канала @python_in_depth — PYTHON 🐍 DEPTH P
Логотип телеграм канала @python_in_depth — PYTHON 🐍 DEPTH
Адрес канала: @python_in_depth
Категории: Технологии , Образование
Язык: Русский
Страна: Россия
Количество подписчиков: 1.55K
Описание канала:

Это новый проект вдохновленный создателями @coolpython
Каталог: @itpython

Рейтинги и Отзывы

3.33

3 отзыва

Оценить канал python_in_depth и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

1


Последние сообщения

2022-08-08 13:08:46 После отъезда из России я работаю в русско-американской компании Quantori. Я должна была писать программы, но на мой опыт в образовании обратили внимание и предложили заняться обучением коллег.

Теперь я организую в Quantori школу по питону. Читаю лекции, планирую занятия, делаю сама и организую домашки, в общем, прикладываю руку к тому, чтобы питонское образование в компании
- появилось,
- встало на рельсы.

Хочу и здесь сделать анонс нашей школы. Она открытая и бесплатная, то есть, вы можете податься и пройти её.

Что будет:
- 8 недель
- 16 лекций
- куча практики с ревью кода от меня и наших менторов
- проект на пайтон под докером
- масса тонкостей и хаков стандартной библиотеки
- фокус на стиле кода
- и небольшой уклон в аналитику

Подойдет тем, кто уже знает основы Python, либо людям с опытом программирования на любом другом языке. Совсем начинающим тоже можно, но будет трудно. Обязательно знание английского не ниже intermediate, потому что читаем мы на английском.

И да, тем, кто отлично себя покажет, Quantori сделают оффер.

Старт 16 сентября, а заявку нужно отправить сегодня до 19:00 по Москве.

Податься:

https://forms.gle/phCGXn1BDM55kNYu9

О компании здесь

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

UPD: приём заявок закрыт, но будут ещё школы
4.2K viewsedited  10:08
Открыть/Комментировать
2022-08-08 13:08:45
3.0K views10:08
Открыть/Комментировать
2022-07-08 16:43:12 Работа import и структура проекта

Когда вы импортируете какой-то модуль в вашем коде, питон не учитывает, в каком файле этот импорт находится, влияет только то, как был запущен код.
Если модуль не был раньше загружен, питон пытается его найти по очереди в нескольких папках, которые можно посмотреть в переменной sys.path

По умолчанию она содержит примерно такие каталоги:
* каталог, добавляемый при запуске
* каталоги указанные в переменной окружения PYTHONPATH
* каталог текущего активированного виртуального окружения
* каталог установки python

1. Если вы запускаете ваш скрипт командой python scriptname.py, то первым в списке будет тот каталог, где находится запускаемый скрипт. Текущий каталог не имеет значения.
2. Если вы запускаете ваш код командой python -m packagename, то первым в списке будет текущий каталог. При запуске питон попытается найти и импортировать packagename по общим правилам.
3. Если вы запускаете код с помощью других инструментов вроде pytest, они тоже могут сами добавлять что-то в sys.path.

Скорее всего, вам не стоит самостоятельно менять sys.path, так как алгоритм его заполнения стандартный и привычен для всех. Если по каким-то причинам вас он не устраивает, возможно у вас неверная структура проекта.

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

Иногда используемые нами фреймворки поддерживают только определенную, не всегда оптимальную, структуру проекта. В остальных случаях я могу предложить два подхода:

1. Вынести запускаемые скрипты на верхний уровень, а остальной код упаковать в пакет.

Упаковка кода в пакет с уникальным именем позволяет исключить конфликты имен. А вынесение всех запускаемых файлов на один уровень делает состав sys.path предсказуемым.

Выглядеть это будет примерно так:

├── appname
│ ├── __init__.py
│ ├── other_module.py
│ └── some_module.py
├── cli_module.py
└── requirements.txt

2. Создать распространяемый пакет (рекомендую).

В этом случае вы упаковываете весь код в пакет, что помогает исключить конфликты имен.
Для запуска команд вы можете использовать синтаксис python -m appname.cli_module или заполнить секцию entry_points в файле с описанием проекта (setup.cfg, pyproject.toml), после чего иметь свои кастомные консольные команды. В обоих случаях вы сможете запускать код, находясь в любом каталоге, без необходимости указывать полные пути к файлам.

Для удобства разработки с таким подходом удобно устанавливать пакет в editable-режиме с помощью команды типа pip install -e .

Структура будет примерно такой:

├── pyproject.toml
└── src
└── appname
├── __init__.py
├── cli_module.py
├── other_module.py
└── some_module.py

Дополнительные материалы:
* https://packaging.python.org/en/latest/
* https://docs.python.org/3/reference/import.html
* https://docs.python.org/3/library/sys.html#sys.path
* https://ru.wikipedia.org/wiki/Рабочий_каталог
4.3K views13:43
Открыть/Комментировать
2022-07-08 16:43:12 Крутой разбор импортов от моего коллеги Андрея Тихонова из компании Quantori, где я теперь работаю.

@advice17
3.7K viewsedited  13:43
Открыть/Комментировать
2022-06-18 23:56:33 Я опять сделала группу, можно покомментить и покидаться какашками

UPD Правила игры те же: нетоксично про питон, программирование, инфраструктуру и за жизнь. Но нужно быть пуськой.

UPD2 https://t.me/+CgNMmJwzjYI1MmYy
2.4K viewsedited  20:56
Открыть/Комментировать
2022-06-18 23:45:35 У ШАДа есть отличный коллективно написанный учебник по машинному обучению. Как раз недавно появился. В нем сочетается и довольно серьезное изложение того, как все работает (считаем, что читатель не боится математики), и рассказ про некоторые особенности применения этого всего на практике.

При этом сохраняется определенный уровень простоты изложения: для большинства людей оно и правда будет выглядеть слишком математично, но на уровне физтеха/мехмата/вмк это конечно не математический курс, а легкая прогулка солнечным днем в городском парке с непринужденным обсуждением таблицы умножения. Что однако не умаляет полезности учебника, т.к. количество интегралов и наличие сигма-алгебр в тексте не заставляет алгоритмы работать лучше :)

Для меня было большим удовольствием написать для учебника ШАД главу про кластеризацию. Задача была непростой: написать очень кратко, рассказать про самые популярные методы, но при этом ответить на вопрос, где это все используется так, что применение кластеризации оправдано. Последнее особенно любопытный вопрос. Сделать кластеризацию просто так, «потому что могу» - дело не хитрое. А вот оправданных применений гораздо меньше, чем у классификации, регрессии или ранжирования.

Мне очень нравится то, что вышло в итоге. Для меня эта глава не просто конспект лекции, а настоящее искусство. Можно сказать, что я писал ее не только сейчас, но и десять лет до этого. Совершенно точно нужно сказать, что я писал свою главу с заботой и любовью к читателю - так, как я мог ее выразить. Кроме того, я писал такой текст, который я бы хотел прочитать 12 лет назад и сэкономить годы на понимание каких-то несложных, но важных вещей и сопоставление разных источников. Мой путь в машинном обучении тоже начался с unsupervised learning, и мне было важно рассказать про кластеризацию так, чтобы каждый смог насладиться красотой и сложностью этой задачи, получить конкретные знания и не испугаться их применять, но в то же время не попасть в обманчивое впечатление, что «все тут легко решается». Я надеюсь, что у меня получилось)

Вот ссылка на главу, с той же страницы можно перейти на список всех глав: https://ml-handbook.ru/chapters/clustering/intro

Большое спасибо Стасу Федотову, что позвал поучаствовать не только на этапе обсуждения содержания учебника и составления итогового списка глав, но и в написании конкретной главы. Также спасибо Насте Павловской за обсуждения плана моей главы и добросовестное допинывание меня до осуществления задумки. Стас, Настя, вы супер :)
2.3K views20:45
Открыть/Комментировать
2022-06-18 23:45:35 Делюсь с вами коллективным учебником по машинному обучению из Яндекса. На самом деле наполовину делюсь, наполовину сохраняю себе, чтобы прочитать позже. Теплый привет Вите Кантору
2.4K views20:45
Открыть/Комментировать
2022-06-03 12:57:12
Сегодня я посетительница CERN

Я училась на физика и мечтала здесь работать до того, как ушла в айти. Забавно, что я все же доехала, пусть и в роли посетителя. Рада здесь быть!

Рассказываю о том, что вижу и чувствую на коллайдере в сторис, приходите посмотреть

instagram.com/maria_chakchurina/
1.9K views09:57
Открыть/Комментировать
2022-05-20 12:06:14 / и * в определнии функции

Видели когда-нибудь вот такой синтаксис?

def foo(first, /, second, *, third):
print(first, second, third)

Выглядит странно?

На самом деле / и * навязывают положение ключевых и позиционных аргументов.

Попытаемся, например, вызвать foo() с неправильным набором параметров:

>>> foo("bar", "qux")
...
TypeError: foo() missing 1 required keyword-only argument: 'third'

Нужен keyword аргумент, окей, попробуем еще раз:

>>> foo("bar", third="qux")
...
TypeError: foo() missing 1 required positional argument: 'second'

Снова нет. Укажем все параметры:

>>> foo("bar", "baz", third="qux")
bar baz qux

Получилось!

Оба символа опциональны. И, в моем опыте, если ставят, то обычно только звездочку.

Источник: https://docs.python.org/3/tutorial/controlflow.html#special-parameters

582 viewsedited  09:06
Открыть/Комментировать
2022-05-19 17:29:46
Говорю о том, как пришла в IT в подкасте соотнователя @KarpovCourses Беслана Курашова

Как из бухгалтерии через астрофизику попасть в программирование и в итоге найти себя на стыке технологий, образования и науки — в выпуске подкаста «Айтишниками не рождаются».

У меня непрямая жизненная траектория с долгим поиском профессиональной идентичности. Поэтому особенно рекомендую тем, кто мечтает поменять специальность, но боится это сделать

https://podcast.ru/1559594773
2.0K viewsedited  14:29
Открыть/Комментировать