uk
Feedback
Python tricks | Хитрости Питона

Python tricks | Хитрости Питона

Відкрити в Telegram

Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты. Сотрудничество: @SIeep_Token Мы на платформе: https://telegram.me/python_tricks Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy

Показати більше
6 053
Підписники
Немає даних24 години
-117 днів
-5930 день
Архів дописів
Starlette Starlette — это легковесный ASGI фреймворк/набор инструментов, который идеально подходит для создания асинхронных в
Starlette Starlette — это легковесный ASGI фреймворк/набор инструментов, который идеально подходит для создания асинхронных веб-сервисов на Python. Он готов к использованию в продакшене и предлагает следующие возможности: - легковесный, низкосложный HTTP веб-фреймворк; - поддержка WebSocket; - фоновые задачи в процессе; - события запуска и остановки; - тестовый клиент, построенный на httpx. В этом примере создается приложение Starlette с одним маршрутом, который обрабатывается функцией homepage. Эта функция возвращает JSON-ответ с сообщением “Hello, world”. Чтобы запустить это приложение, необходимо установить ASGI-сервер, например uvicorn, и выполнить следующую команду: uvicorn example:app, где example — это имя файла с кодом приложения, а app — имя переменной с экземпляром приложения Starlette. 🔗 Python tricks

Дано целое число, преобразовать его в римскую цифру. В этом решении мы создаем метод intToRoman, который принимает целое числ
Дано целое число, преобразовать его в римскую цифру. В этом решении мы создаем метод intToRoman, который принимает целое число в качестве аргумента и возвращает его римское представление в виде строки. Метод использует жадный алгоритм для поиска наибольшего римского числа, которое может быть вычтено из входного числа. Затем он вычитает это число и добавляет соответствующее римское число к результату. Этот процесс повторяется до тех пор, пока входное число не станет равным нулю. 🔗 Python tricks

Создание последовательностей (ч.7) В данном примере класс CustomList реализует метод reversed(self), который возвращает обрат
Создание последовательностей (ч.7) В данном примере класс CustomList реализует метод reversed(self), который возвращает обратный итератор для списка self.items. Этот метод используется при вызове встроенной функции reversed() для объекта CustomList, что позволяет итерироваться по элементам списка в обратном порядке. Метод reversed возвращает обратный итератор, что делает его удобным для работы с пользовательскими коллекциями или структурами данных, позволяя легко итерироваться в обратном направлении без необходимости явно создавать обратный список или использовать другие методы. Этот лайфхак полезен, когда вам нужно итерироваться по вашим объектам в обратном порядке, и вы хотите использовать стандартные инструменты Python для этой задачи. 🔗 Python tricks

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

Создание последовательностей (ч.5) В данном примере класс DefaultDict наследует функционал от класса dict и переопределяет ме
Создание последовательностей (ч.5) В данном примере класс DefaultDict наследует функционал от класса dict и переопределяет метод missing(self, key). Этот метод вызывается, когда происходит попытка получить значение по ключу, который отсутствует в словаре. В методе missing мы определяем поведение для несуществующих ключей: создаем ключ с заданным значением по умолчанию и возвращаем это значение. Это позволяет создать словарь, который автоматически возвращает значения по умолчанию для несуществующих ключей, что может быть удобно при работе с данными, где требуется заданное значение по умолчанию для всех ключей. Такой подход полезен, когда вы хотите упростить работу с отсутствующими ключами в словаре и предоставить значению по умолчанию без явного создания сложных логических конструкций или проверок наличия ключей. 🔗 Python tricks

Создание последовательностей (ч.4) В данном примере класс CustomDict реализует метод delitem(self, key), который позволяет уд
Создание последовательностей (ч.4) В данном примере класс CustomDict реализует метод delitem(self, key), который позволяет удалять элементы из словаря, используемого внутри объекта. Когда мы используем оператор del my_dict['b'], вызывается метод my_dict.delitem('b'), который удаляет элемент с ключом 'b' из словаря _data. Этот лайфхак полезен при создании собственных коллекций или структур данных в Python. Переопределение метода delitem позволяет определить, как будет происходить удаление элементов из вашей структуры данных. Это может быть полезно для реализации специфической логики удаления или обработки таких операций. 🔗 Python tricks

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

TPOT TPOT (Tree-based Pipeline Optimization Tool) — это библиотека с открытым исходным кодом для автоматизированного машинног
TPOT TPOT (Tree-based Pipeline Optimization Tool) — это библиотека с открытым исходным кодом для автоматизированного машинного обучения (AutoML). Она использует популярную библиотеку Scikit-Learn для преобразования данных и алгоритмов машинного обучения. Один из примеров использования TPOT — это автоматическое создание и оптимизация конвейера машинного обучения. Выше предоставлен пример кода, который демонстрирует, как использовать TPOT для этой цели: В этом примере мы импортируем класс TPOTClassifier и загружаем набор данных iris из библиотеки Scikit-Learn. С помощью функции train_test_split мы разделяем набор данных на обучающий и тестовый. Далее создается экземпляр классификатора TPOT с заданными параметрами generations, population_size и verbosity. Классификатор обучается с помощью метода fit и оценивается с помощью метода score. В конце оптимизированный конвейер экспортируется в виде скрипта Python с помощью метода export. 🔗 Python tricks

Декоратор @classmethod Декоратор @classmethod используется для создания методов класса. Метод класса — это метод, который при
Декоратор @classmethod Декоратор @classmethod используется для создания методов класса. Метод класса — это метод, который привязан к классу, а не к его экземпляру. Это означает, что вы можете вызвать метод класса на самом классе, а не на его экземпляре. Один из распространенных способов использования методов класса — это создание фабричных методов, которые возвращают новые экземпляры класса. В этом примере мы определяем класс MyClass с методом __init__, который принимает один аргумент value. Затем определяем метод класса from_string, который принимает строку и преобразует ее в целое число с помощью функции int. Метод возвращает новый экземпляр класса MyClass, созданный с помощью переданного значения. Метод класса определяется с помощью декоратора @classmethod и принимает первым аргументом ссылку на сам класс (обычно называемую cls). Внутри метода мы используем эту ссылку для создания и возврата нового экземпляра класса. 🔗 Python tricks

Этому владельцу СММ-Агентства уже совсем делать нех*й 🤡 Чувак запускает челендж, где он с партнером за месяц заработают по 100к рублей на менеджерстве в телеграм и все будут транслировать у себя в блоге. Они уже зарабатывают по 1кк+ но решили показать, что уж 100к точно сможет заработать каждый. Очень много годной инфы, наблюдаем за обстановкой тут: https://t.me/+st-JcsBuWiVkNzBi

Перезагрузка оператора Python поддерживает перезагрузку оператора. Зная эти слова, вы сразу кажитесь настоящим компьютерным г
Перезагрузка оператора Python поддерживает перезагрузку оператора. Зная эти слова, вы сразу кажитесь настоящим компьютерным гением. На самом деле, концепция довольно проста. Вы когда-нибудь задавались вопросом, почему в Python можно использовать оператор + для добавления чисел и конкатенации строк? Это и есть перезагрузка оператора в чистом виде. Вы можете определить объекты, которые будут пользоваться стандартными символами операторов Python по-своему. Тогда их можно будет использовать в зависимости от содержимого объектов, с которыми вы работаете. 🔗 Python tricks

Прыжки по массиву Дан целочисленный массив nums. Изначально вы располагаетесь на первом индексе массива, и каждый элемент мас
Прыжки по массиву Дан целочисленный массив nums. Изначально вы располагаетесь на первом индексе массива, и каждый элемент массива представляет собой максимальную длину вашего прыжка на этой позиции. Возвращается true, если вы можете достичь последнего индекса, или false в противном случае. Решение: создаем переменную farthest, которая будет хранить самый дальний индекс, до которого можно добраться. Затем проходим по nums и для каждого элемента проверяем, можно ли добраться до него из текущего положения (if i > farthest): - Если это невозможно, то алгоритм возвращает False, так как мы не можем добраться до последнего элемента. - Если это возможно, то алгоритм обновляет значение переменной farthest, если текущий элемент позволяет добраться дальше (if nums[i] + i > farthest). - Если значение переменной farthest больше или равно индексу последнего элемента списка, то алгоритм возвращает True, так как мы можем добраться до последнего элемента. 🔗 Python tricks

Сортировка списков В Python есть два способа сортировки списка: встроенный метод списка list.sort() и встроенная функция sort
Сортировка списков В Python есть два способа сортировки списка: встроенный метод списка list.sort() и встроенная функция sorted(). Вот в чем заключается их отличие: - Функция sorted() принимает итерируемый объект и возвращает новый отсортированный список, не изменяя исходный. - Метод list.sort() сортирует список на месте, то есть изменяет исходный список. 🔗 Python tricks

Поиск максимальной прибыли Дан целочисленный массив prices, где prices[i] - это цена данной акции на i-й день. В каждый день
Поиск максимальной прибыли Дан целочисленный массив prices, где prices[i] - это цена данной акции на i-й день. В каждый день вы можете принять решение о покупке и/или продаже акции. В любой момент времени вы можете держать не более одной акции. Однако вы можете купить ее и тут же продать в тот же день. Найдите и верните максимальную прибыль, которую вы можете получить. Решение работает следующим образом: в методе maxProfit создаем пустой список price_gain, который будет хранить прибыль от каждой сделки. Проходим по списку цен и для каждой пары соседних цен проверяем, если цена на следующий день выше, чем цена на текущий день. Если это так, то вычисляем разницу между этими ценами и добавляем ее в price_gain. В конце возвращаем сумму всех элементов price_gain - это и будет максимальная прибыль. 🔗 Python tricks

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

Создание последовательностей (ч.1) В данном примере класс CustomList содержит метод len(self), который возвращает длину списк
Создание последовательностей (ч.1) В данном примере класс CustomList содержит метод len(self), который возвращает длину списка self.items, используемого внутри объекта. Когда мы вызываем функцию len(my_list) для объекта my_list, вызывается метод my_list.len(), который возвращает текущую длину списка. Этот лайфхак полезен при создании собственных коллекций или структур данных в Python. Переопределение метода len позволяет определить, как будет интерпретироваться длина вашего объекта, что может быть полезно для более удобного использования и работы с вашими собственными типами данных. 🔗 Python tricks

🐍 Запрыгивай в IT: Слёрм дает навыки по открытию карьерных дверей на курсе Python-разработчик. Вы научитесь: — Работать с из
🐍 Запрыгивай в IT: Слёрм дает навыки по открытию карьерных дверей на курсе Python-разработчик. Вы научитесь:    — Работать с изменениями кода проекта с помощью Git и GitHub    — Решать задачи на Python и разрабатывать сайты при помощи фреймворка Django    — Применять принципы клиент-серверного взаимодействия и работать с базами данных   — Работать с API сторонних сервисов и проводить Unit-тестирования   Как проходит обучение: ☀️Вы смотрите видео с теорией. Доступ ко всем лекциям открывается сразу ☀️Поочередно изучаете Git, после него сам Python, дополняете «коктейль разработчика» Docker и Linux ☀️Выполняете практические задания. К концу курса вы сделаете 3 проекта на Python и сдадите итоговую аттестацию ☀️Посещаете онлайн-встречи с экспертами по Python, задаете вопросы о языке и уточняете технические детали ☀️Сдаете сертификацию по пройденным направлениям и получаете диплом государственного образца о переподготовке Поздравляем, теперь вы — Python-разработчик!  До встречи 27 мая🔥

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

Наследование Нередко в процессе написания кода выясняется, что некоторые объекты аналогичны другим за исключением нескольких
Наследование Нередко в процессе написания кода выясняется, что некоторые объекты аналогичны другим за исключением нескольких различий. Определение сходств и различий между такими объектами называется "наследованием". Мы все прекрасно знаем, что котики, к примеру, любят всё ронять, а собакены — рыть землю. Создадим два соответствующих класса-наследника. Теперь объекты этих двух классов могут не только издавать животные звуки, но и выполнять собственные уникальные действия. 🔗 Python tricks