#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
🖥 Что такое сцепление исключений ?

В Python 3 при возбуждении исключения в блоке except, старое исключение сохраняется в атрибуте данных context и если новое исключение не обработано, то будет выведена информация о том, что новое исключение возникло при обработке старого («During handling of the above exception, another exception occurred:»). Также, можно связывать исключения в одну цепь или заменять старые новыми. Для этого используется конструкция raise новое_исключение from старое_исключение либо raise новое_исключение from None. В первом случае указанное исключение сохраняется в атрибуте __cause__ и атрибут __suppress_context__ (который подавляет вывод исключения из __context__) устанавливается в True. Тогда, если новое исключение не обработано, будет выведена информация о том, что старое исключение является причиной нового («The above exception was the direct cause of the following exception:»). Во втором случае __suppress_context__ устанавливается в True и __cause__ в None. Тогда при выводе исключения оно, фактически, будет заменено новым (хотя старое исключение всё ещё хранится в __context__).

В Python 2 нет сцепления исключений. Любое исключение, выброшенное в блоке except, заменяет старое.

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Реальное пракическое тестовое задание в команду Assisted team (Python)

Прикрепляем два XML (1 файл, 2 файл) – это ответы на поисковые запросы, сделанные к одному из наших партнёров. В ответах лежат варианты перелётов (тег Flights) со всей необходимой информацией, чтобы отобразить билет на Aviasales.

На основе этих данных, нужно сделать вебсервис, в котором есть эндпоинты, отвечающие на следующие запросы:

- Какие варианты перелёта из DXB в BKK мы получили?
- Самый дорогой/дешёвый, быстрый/долгий и оптимальный варианты
- В чём отличия между результатами двух запросов (изменение маршрутов/условий)?

Язык реализации: python3 Формат ответа: json Используемые библиотеки и инструменты — всё на твой выбор.

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

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Что такое type. Как работает поиск метакласса при создании объекта?

type это метакласс, который Питон внутренне использует для создания всех классов.

Когда вы пишете:

class Foo(Bar):
pass

Питон делает следующее:

- Есть ли у класса Foo атрибут __metaclass__?
- Если да, создаёт в памяти объект-класс с именем Foo, используя то, что указано в __metaclass__.
- Если Питон не находит metaclass, он ищет __metaclass__ в родительском классе Bar и попробует сделать то же самое.
- Если же __metaclass__ не находится ни в одном из родителей, Питон будет искать __metaclass__ на уровне модуля.
- И если он не может найти вообще ни одного __metaclass__, он использует type для создания объекта-класса.

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Вопросы с собеседований python. Как проходит собеседование Python-разработчика: вопросы для джуниоров и мидлов.

Привет! Меня зовут Руслан. Около 12 лет я занимаюсь разработкой, из них девять — на Python. За это время я собеседовался на разные позиции десятки раз и сам провёл примерно пару сотен собеседований. Не всегда успешно :/ В этой статье поговорим о том, как снизить вероятность провалов и к чему быть готовым.

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

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Как работают метаклассы

- перехватить создание класса
- изменить класс
- вернуть модифицированный

Зачем вообще использовать метаклассы
Основное применение метаклассов это создание API. Типичный пример — Django ORM.

Она позволяет написать что-то в таком духе:

class Person(models.Model):
name = models.CharField(max_length=30)
age = models.IntegerField()
Однако если вы выполните следующий код:

guy = Person(name='bob', age='35')
print guy.age

вы получите не IntegerField, а int, причём значение может быть получено прямо из базы данных.

Это возможно, потому что models.Model определяет __metaclass__, который сотворит некую магию и превратит класс Person, который мы только что определили простым выражением в сложную привязку к базе данных.

Django делает что-то сложное выглядящее простым, выставляя наружу простой API и используя метаклассы, воссоздающие код из API и незаметно делающие всю работу.

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Мathshub
📚Книги — неотъемлемый помощник в процессе самообразования. Способность самостоятельно изучать материал влияет на результат обучения и помогает быстрее достигнуть поставленных целей.

Мы подготовили подборку, которая будет полезна тем, кто интересуется изучением Python.

🟢 «Изучаем Python», Марк Лутц

Материал в книге изложен доступно и понятно. Автор очень подробно рассматривает общие концепции, что дает полное понимание структуры языка.

🟢 «A Byte of Python», Сваруп Читлур

Описывает язык Python 3. Если ваши знания о компьютере ограничиваются тем, как сохранять текстовые файлы — эта книга для вас.

🟢 «Изучаем Python: программирование игр, визуализация данных, веб-приложения», Эрик Мэтиз

Must read, самое популярное в мире руководство по языку Python. Научит писать программы, устранять ошибки и создавать работающие приложения.

🟢 «Код. Тайный язык информатики», Чарльз Петцольд

Научно-популярно о том, как персональные компьютеры работают на аппаратном и программном уровне.

🟢 «Основы программирования на языке Python», Дмитрий Златопольский

Простым языком описаны основные типовые задачи и методы их решения с подробными комментариями. Приводятся типичные ошибки начинающих и дается ряд полезных советов.

🟢 «Python, Django и PyCharm для начинающих», Анатолий Постолит

Разбираются вопросы разработки веб-приложений с использованием Python, фреймворка Django и интерактивной среды разработки PyCharm.

➡️А вы читали что-нибудь из этого списка или есть книги, которые бы вы хотели посоветовать? Ждем ваши рекомендации в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Что такое утиная типизация

Неявная типизация, латентная типизация или утиная типизация (англ. Duck typing) – вид динамической типизации, применяемой в некоторых языках программирования (Perl, Smalltalk, Python, Objective-C, Ruby, JavaScript, Groovy, ColdFusion, Boo, Lua, Go, C#), когда границы использования объекта определяются его текущим набором методов и свойств, в противоположность наследованию от определённого класса. То есть считается, что объект реализует интерфейс, если он содержит все методы этого интерфейса, независимо от связей в иерархии наследования и принадлежности к какому-либо конкретному классу.

Утиная типизация решает такие проблемы иерархической типизации, как:

- невозможность явно указать (путём наследования) на совместимость интерфейса со всеми настоящими и будущими интерфейсами, с которыми он идейно совместим;

-экспоненциальное увеличение числа связей в иерархии типов при хотя бы частичной попытке это сделать.

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет в новом году!

Первый пост - первая статья.

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

Что в статье:
- multiprocessing
- concurrent
- asyncio

Наглядный пример, что в данном случае работает лучше и почему.

В общем, очень полезно, поэтому изучайте 😉
Forwarded from Big Data AI
📚 20 лучших бесплатных книг по Python для начинающих и продвинутых программистов

Настоящий новогодний подарок всем Python разработчикам.

✔️ Смотреть список

@bigdatai
Channel name was changed to «#python python... PYTHON 🔛 🚀»
Использование методов А/Б тестирования. Решение практического кейса в Python #habr
https://habr.com/ru/post/708872/
Tags: Python, Визуализация данных, Машинное обучение, Логистическая регрессия, cuped, Causal random forest, гетерогенный эффект воздействия, а/в-тесты
Author: oluscha
Forwarded from Zen of Python
Как работает Pattern Memento (Снимок)

Снимок — это поведенческий паттерн проектирования, который позволяет сохранять и восстанавливать прошлые состояния объектов, не раскрывая подробностей их реализации. В этой статье автор простым языком попытался объяснить принцип его работы и способ реализации:

https://habr.com/ru/post/689948/

#основы #паттерны