pythonaa | Unsorted

Telegram-канал pythonaa - Python School

-

Subscribe to a channel

Python School

Обычные арифметические операторы (ч.1)

Метод add(self, other) позволяет определить поведение объекта при использовании оператора сложения +. В данном примере, если операнд other также является объектом типа Vector, мы складываем соответствующие координаты векторов и возвращаем новый объект Vector, представляющий сумму. Если other не является вектором, мы вызываем исключение TypeError, указывая, что операция не поддерживается.

Этот лайфхак полезен при работе с пользовательскими типами данных, такими как векторы, матрицы и другие структуры данных, где определение операции сложения имеет смысл. Переопределение метода add позволяет объекту поддерживать стандартную математическую операцию сложения в Python.

Читать полностью…

Python School

Унарные операторы (ч.4)

Метод invert(self) в Python вызывается при использовании побитового отрицания ~ для объекта. Он позволяет определить поведение объекта при побитовом инвертировании его значений.

В приведенном примере метод invert просто использует побитовое отрицание ~ для атрибута self.value, что позволяет инвертировать биты числа.

Этот лайфхак полезен при работе с побитовыми операциями, такими как побитовое отрицание, побитовое ИЛИ, И и т. д. Переопределение метода invert позволяет объекту поддерживать более сложные операции с битами, что может быть полезно при работе с битовыми представлениями данных или при написании кода, связанного с низкоуровневыми аспектами.

Читать полностью…

Python School

Унарные операторы (ч.3)

Метод abs(self) вызывается при использовании встроенной функции abs() для объекта. Он позволяет определить поведение объекта при вычислении его абсолютного значения.

В примере выше метод abs просто вызывает встроенную функцию abs() для атрибута self.value, что позволяет получить абсолютное значение числа.

Этот лайфхак полезен при создании объектов, которые представляют числовые значения, таких как вектора, комплексные числа или другие структуры данных, где определение абсолютного значения имеет смысл. Переопределение метода abs позволяет объекту поддерживать стандартные математические операции в Python, такие как вычисление модуля числа.

Читать полностью…

Python School

Унарные операторы (ч.1)

В данном примере класс Number реализует метод neg(self), который переопределяет оператор отрицания - для объектов этого класса. Когда мы используем оператор отрицания для объекта num, Python вызывает метод neg для этого объекта, который возвращает новый объект Number с отрицательным значением атрибута value.

Этот лайфхак полезен для создания объектов, которые могут поддерживать математические операции с помощью перегрузки операторов в Python. Переопределение метода neg позволяет определить поведение объекта при использовании оператора отрицания, что может быть полезно при работе с числами или другими данными, где операция отрицания имеет смысл.

Читать полностью…

Python School

Создание последовательностей (ч.8)

В данном примере класс CustomList определяет метод contains(self, item), который проверяет наличие элемента item в списке self.items. При использовании оператора in для объекта CustomList, вызывается метод contains, который возвращает True, если элемент найден в списке, и False, если элемент отсутствует.

Этот лайфхак полезен для создания пользовательских коллекций или структур данных, которые могут поддерживать проверку наличия элементов посредством оператора in. Переопределение метода contains позволяет определить, как будет работать проверка наличия элементов в вашем объекте, что может быть полезно для удобства использования вашей структуры данных в Python.

Читать полностью…

Python School

Создание последовательностей (ч.7)

В данном примере класс CustomList реализует метод reversed(self), который возвращает обратный итератор для списка self.items. Этот метод используется при вызове встроенной функции reversed() для объекта CustomList, что позволяет итерироваться по элементам списка в обратном порядке.

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

Этот лайфхак полезен, когда вам нужно итерироваться по вашим объектам в обратном порядке, и вы хотите использовать стандартные инструменты Python для этой задачи.

Читать полностью…

Python School

Создание последовательностей (ч.6)

В данном примере класс Squares реализует метод iter(self), который возвращает итератор. Итератор - это объект, который поддерживает метод next() и используется для итерации по последовательности значений. Когда мы используем цикл for для объекта squares, интерпретатор Python вызывает метод iter для получения итератора, а затем последовательно вызывает метод next до тех пор, пока не будет возбуждено исключение StopIteration.

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

Этот лайфхак полезен при создании собственных итерируемых объектов в Python, что позволяет использовать их в стандартных итерационных конструкциях и управлять процессом итерации с помощью методов iter и next.

Читать полностью…

Python School

Создание последовательностей (ч.4)

В данном примере класс CustomDict реализует метод delitem(self, key), который позволяет удалять элементы из словаря, используемого внутри объекта. Когда мы используем оператор del my_dict['b'], вызывается метод my_dict.delitem('b'), который удаляет элемент с ключом 'b' из словаря _data.

Этот лайфхак полезен при создании собственных коллекций или структур данных в Python. Переопределение метода delitem позволяет определить, как будет происходить удаление элементов из вашей структуры данных. Это может быть полезно для реализации специфической логики удаления или обработки таких операций.

Читать полностью…

Python School

Всего за 4 дня станьте бизнес-аналитиком со стартовой заработной платой 60 тыс.₽

Откройте прямо сейчас HeadHunter и посмотрите сколько компаний ищут бизнес-аналитиков и сколько готовы платить. Это ваш шанс, сотрудники этого направления настолько ценные кадры, что им всячески идет на уступки руководство, они получают не только высокую заработную плату, но также зачастую могут работать из дома и иметь гибкий график.

Прямо сейчас Skillbox проводит бесплатный мини-курс, на котором вы узнаете всё об этой профессии и научитесь азам уже позволяющим устроиться на работу.

Регистрируйтесь по ссылке и начните свой путь к удаленной работе с высоким доходом.

Реклама. Информация о рекламодателе по ссылкам в посте.

Читать полностью…

Python School

Создание последовательностей (ч.1)

В данном примере класс CustomList содержит метод len(self), который возвращает длину списка self.items, используемого внутри объекта. Когда мы вызываем функцию len(my_list) для объекта my_list, вызывается метод my_list.len(), который возвращает текущую длину списка.

Этот лайфхак полезен при создании собственных коллекций или структур данных в Python. Переопределение метода len позволяет определить, как будет интерпретироваться длина вашего объекта, что может быть полезно для более удобного использования и работы с вашими собственными типами данных.

Читать полностью…

Python School

Что не так с этим кодом и зачем это нужно

Этот код вызывает ошибку утверждения assert с сообщением «error», если debug равен True. debug — это встроенная переменная Python, которая является истинной, если к интерактивной консоли или скрипту был присоединен флаг оптимизации -O. Для типичных скриптов в режиме отладки эта переменная равна True. Если оптимизация включена, то интерпретатор Python игнорирует все операторы утверждения assert, поэтому этот код не вызовет ошибку в optimized mode.

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

Читать полностью…

Python School

Наследование

Нередко в процессе написания кода выясняется, что некоторые объекты аналогичны другим за исключением нескольких различий. Определение сходств и различий между такими объектами называется "наследованием".

Мы все прекрасно знаем, что котики, к примеру, любят всё ронять, а собакены — рыть землю. Создадим два соответствующих класса-наследника.

Теперь объекты этих двух классов могут не только издавать животные звуки, но и выполнять собственные уникальные действия.

Читать полностью…

Python School

Всего за 5 минут определите подходящую вам IT-профессию.

Онлайн-школа Skillfactory разработала уникальный профориентационный тест из 18 вопросов. Ответив на них, узнаете наиболее подходящую вам специальность.

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

Переходите по специальной ссылке, чтобы пройти тест, получить карьерный гайд по профессии и скидку 50% на обучение.

Реклама. Информация о рекламодателе по ссылкам в посте.

Читать полностью…

Python School

Генераторные фунции (generator functions)

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

Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield.

Читать полностью…

Python School

Dict

Словарь представляет из себя массив ключей и массив значений, где каждый ключ связан с одним значением. На ключ накладывается ограничение по уникальности в пределах словаря. Поэтому ключами могут быть объекты только неизменяемых типов. Значением же может быть объект любого типа.

Как и списки, словари хранятся в виде двух объектов. Первый, содержит информацию о самом словаре и всегда остается в одном и том же блоке. Второй, хранит пары ключ-значение и может перемещаться между блоками при изменении размера. Но при этом пустой словарь занимает гораздо больше места.

Читать полностью…

Python School

Канал не угарного препода (а намного лучше) – @kantor_ai

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

Что делать, если вы стали топ-менеджером
Как умение рисовать может помочь в жизни
Как уволиться и при этом сохранить отношения со всеми

Подпишись и see you on the other side!

Читать полностью…

Python School

Наши друзья из @Selectel сделали подборку полезных материалов для Python-разработчиков. Да еще и в удобном формате — карточках. На своем канале ребята рассказывают про:

▪️ Простая задача для любителей Python с множеством вариантов решения.
▪️ Основы типизации в Python для минимизации ошибок при построении сложных сценариев.
▪️ 4 инструмента для создания графических интерфейсов, чтобы разрабатывать полноценные десктопные приложения с GUI.
▪️ Основы парсинга веб-сайтов на Python, когда нужно автоматизировать сбор и анализ данных из разных источников.
▪️ Шпаргалка по Matlib для ситуаций, когда данные нужно визуализировать: построить распределение, диаграмму или даже тепловую карту

🚀 Подписывайтесь на телеграм-канал @Selectel, чтобы не пропускать новые материалы и подборки!

Реклама ООО «Селектел» erid 2Vtzqvo992K

Читать полностью…

Python School

Унарные операторы (ч.2)

Метод pos(self) в Python вызывается при использовании унарного оператора плюс (+) для объекта. Он позволяет определить поведение объекта при применении унарного плюса к нему.

В данном примере метод pos просто возвращает сам объект без изменений. Это позволяет объекту сохранять своё значение при использовании унарного плюса. Несмотря на то, что в этом примере метод pos не вносит никаких изменений, он может быть полезен для реализации специфического поведения в других контекстах.

Читать полностью…

Python School

Обучитесь на менеджера проектов за 4 урока и начните свою новую карьеру с зп 100 тыс.руб.

Менеджер проектов это специалист, который требуется каждой команде, без него в IT не запустить сайт, а в строительстве — не построить дом. Причём профессия устойчива к переменам на рынке: например, в кризисный 2020 год зарплаты таких специалистов не снизились, оставшись на уровне 130 тыс.руб.

GeekBrains проведет для вас самый понятный старт в профессии, вы научитесь методике SMART, сделаете свой первый MVP продукт и составите план поиска своих заказчиков.

Переходите по ссылке, и пройдите бесплатные 4 урока, для становления специалистом с высокой заработной платой.

Реклама. Информация о рекламодателе по ссылкам в посте.

Читать полностью…

Python School

Получите самую простую IT-профессия за 5 дней, с начальной заработной платой 70 тыс.руб.

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

Skillbox полностью обучит вас тестировать сетевые запросы, писать запросы на SQL и всем остальным навыкам необходимым тестировщику.

Регистрируйтесь по ссылке и проходите мини-курс бесплатно, вместо 3 000 рублей, свободных мест только 30, поторопитесь.

Реклама. Информация о рекламодателе по ссылкам в посте.

Читать полностью…

Python School

Получите самую простую IT-профессия за 5 дней, с начальной заработной платой 70 тыс.руб.

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

Skillbox полностью обучит вас тестировать сетевые запросы, писать запросы на SQL и всем остальным навыкам необходимым тестировщику.

Регистрируйтесь по ссылке и проходите мини-курс бесплатно, вместо 3 000 рублей, свободных мест только 30, поторопитесь.

Реклама. Информация о рекламодателе по ссылкам в посте.

Читать полностью…

Python School

Создание последовательностей (ч.5)

В данном примере класс DefaultDict наследует функционал от класса dict и переопределяет метод missing(self, key). Этот метод вызывается, когда происходит попытка получить значение по ключу, который отсутствует в словаре.

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

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

Читать полностью…

Python School

Создание последовательностей (ч.3)

setitem(self, key, value) — вызывается при присваивании какого-либо значения элементу в последовательности. Также может выбрасывать исключения TypeError и KeyError.

Читать полностью…

Python School

Создание последовательностей (ч.2)

getitem(self, key) — вызывается при обращении к элементу в последовательности по его ключу (индексу). Метод должен выбрасывать исключение TypeError, если используется некорректный тип ключа, KeyError, если данному ключу не соответствует ни один элемент в последовательности.

Читать полностью…

Python School

Научись писать продающий текст и зарабатывать на этом за 4 дня

Каждый пост, который ты здесь видишь приносит кому-то деньги. В зависимости от навыков копирайтера, компании готовы платить такому специалисту от 80 до 150 тыс. руб.

Тебе повезло, на этой неделе Skillbox проводит эксклюзивный мини-курс, направленный на обучение сразу трём профессиям: редактор, копирайтер, контент-маркетолог. На каждого такого спеца объявлена, буквально, охота у работодателей.

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

Реклама. Информация о рекламодателе по ссылкам в посте.

Читать полностью…

Python School

За один мини-курс напишите 3 программы с нуля и станьте полноценным Java-разработчиком

Самый популярный и востребованный язык программирования - это Java. Все крупные IT-компании мира сейчас активно набирают в штат Java-разработчиков со средней заработной платой от 200 тыс. руб.

В онлайн-школу Skillbox поступили запросы от нескольких РФ компаний на начинающих Java-специалистов, именно поэтому сейчас есть 200 мест на бесплатный мини-курс для желающих стать высокооплачиваемыми разработчиками.

👉 Регистрируйтесь по ссылке, пока места не закончились, запись доступна только до 23 мая!

Реклама. Информация о рекламодателе по ссылкам в посте.

Читать полностью…

Python School

Общие свойства объектов (ч.2)

str(self) — вызывается при вызове функции str(...), возвращает строковый объект.

Читать полностью…

Python School

Общие свойства объектов (ч.1)

Любой объект может содержать дополнительную информацию, полезную при отладке или приведении типов.

repr(self) — информационная строка об объекте. Выводится при вызове функции repr(...) или в момент отладки.

Читать полностью…

Python School

Как заработать на веб дизайне с нуля за 5 дней

Создать по настоящему цепляющую картинку - это надо уметь. За такое умение компании платят веб дизайнеру от 130 000₽, а онлайн-школы берут за обучение этой профессии до 300 000 рублей.

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

👉 Переходите по ссылке и успейте записаться бесплатно, только до 21 мая: https://go.redav.online/66a51a704fb43790?erid=LdtCKHfVR&m=1

Читать полностью…

Python School

Tuple

Кортеж представляет из себя массив фиксированной длины, заданной при создании объекта. Элементами кортежа также могут быть объекты любых типов. В отличие от списка, кортеж в памяти представлен одним объектом. Поскольку нет изменяемой части, которую надо перемещать между блоками. Да, и методов для изменения элементов у кортежа так же нет. Но если сам элемент принадлежит к изменяемому типу, его все же можно изменить.

Читать полностью…
Subscribe to a channel