Разъяснивший Python
Open in Telegram
Твой проводник в омут Python'а Ссылка: @Portal_v_IT Сотрудничество: @oleginc
Show more6 896
Subscribers
+224 hours
-97 days
-6430 days
Posts Archive
6 893
Ruff
Ruff — это новый, быстроразвивающийся линтер Python кода, призванный заменить flake8 и isort.
Основным преимуществом Ruff является его скорость. Ruff в 10-100 раз быстрее аналогов (Линтер написан на Rust). В сравнении с flake8, автор заявляет о практически полном совпадении с набором правил инструмента и нативной реализацией популярных плагинов (flake8-bugbear и т.д.). Также Ruff совместим с Black «из коробки».
Ruff может форматировать код. Например, он автоматически удаляет неиспользуемые импорты. Что касается сортировки и группировки строк импорта, то она практически идентична isort.
Разъяснивший Python
6 893
Функция enumerate()
Функция enumerate() добавляет счетчик к итерируемому объекту и возвращает данный объект. При необходимости ты можешь указать, с какого числа начинать отсчет. По умолчанию значение 0.
Разъяснивший Python
6 893
Метод count()
Метод count() возвращает количество раз, когда указанный элемент появляется в списке. В качестве элемента ты можешь использовать строку, число, список, кортеж и многое другое.
Разъяснивший Python
6 893
frozenset
frozenset представляет собой неизменяемое множество. Основное отличие между set и frozenset заключается в том, что set является изменяемым типом данных, тогда как frozenset не может быть изменен после создания.
Вот несколько ключевых особенностей frozenset:
Неизменяемость: Это означает, что вы не можете добавлять, удалять или изменять элементы в frozenset после его создания.
Хешируемость: Поскольку frozenset неизменяем, он является хешируемым, что означает, что его можно использовать в качестве ключа в словарях и элемента множества.
Обратите внимание, что, поскольку frozenset не поддерживает изменения, некоторые методы, которые изменяют множество (например, add, remove, discard), не применимы к frozenset. Однако, вы можете выполнять операции, возвращающие новые frozenset, такие как объединение и пересечение.
Разъяснивший Python6 893
Реализуйте алгоритм поиска в ширину (BFS - Breadth-First Search) для графа на Python. Напишите код и объясните, как работает этот алгоритм. Обсудите его сложность и применение.
Объяснение:
Алгоритм поиска в ширину (BFS) используется для обхода или поиска в графе. Он начинает с выбора стартовой вершины и пошагово распространяется по всем смежным вершинам.
Шаги алгоритма:
1. Создается пустое множество visited для отслеживания посещенных вершин и очередь queue для управления порядком обхода.
2. Стартовая вершина добавляется в очередь и отмечается как посещенная.
3. Пока очередь не пуста, извлекается вершина из начала очереди (queue.popleft()).
4. Выводится значение текущей вершины и добавляются в очередь все её смежные вершины, которые еще не были посещены.
5. Шаги 3-4 повторяются до тех пор, пока очередь не опустеет.
Разъяснивший Python
6 893
Метод getitem
Метод
__getitem__ является частью протокола индексации, который позволяет объекту быть индексируемым, как это делается, например, для списков или словарей. Этот метод вызывается при использовании квадратных скобок [] для доступа к элементам объекта.
Этот метод также используется при работе с срезами. Если вы хотите, чтобы ваш объект поддерживал срезы, вы также можете реализовать метод __getitem__ с тремя аргументами: self, start, stop.
Разъяснивший Python6 893
memoryview()
memoryview() в Python предоставляет объект для доступа к внутреннему представлению данных в виде буфера без копирования. Этот объект позволяет вам просматривать байты объекта, не копируя их, а также выполнять различные операции на уровне байтов.
memoryview() также может использоваться для работы с массивами и другими объектами, поддерживающими буферный интерфейс в Python.
Этот инструмент особенно полезен, когда вам нужно работать с большим объемом данных, и вы хотите избежать копирования данных, что может быть затратным с точки зрения времени
Разъяснивший Python6 893
Напишите функцию, которая принимает на вход строку и возвращает количество уникальных слов в этой строке. Считайте, что слова разделяются пробелами, знаками препинания должны быть удалены. Напишите код и расскажите, как вы обрабатываете знаки препинания. Какие дополнительные оптимизации можно внести?
Объяснение:
В этом коде (первая картинка) мы используем string.punctuation для определения знаков препинания и str.translate() для удаления их из строки. Затем мы приводим всю строку к нижнему регистру и разбиваем ее на слова, считая количество уникальных слов с использованием множества (set).
Оптимизации (вторая картинка):
Мы могли бы использовать регулярные выражения для более точного удаления знаков препинания и разделения слов. Вместо создания промежуточного списка words, мы могли бы сразу подсчитывать уникальные слова при проходе по строке, что сэкономило бы память.
Разъяснивший Python
6 893
pow()
В Python функция pow() используется для вычисления степени числа. Вот как она работает:
result = pow(x, y, z)
где: x — основание степени,
y — показатель степени,
z (необязательный параметр) — модуль, по которому производится вычисление.
Если z указан, то pow(x, y, z) возвращает (x y) % z. Если z не указан, то возвращается x y.
Разъяснивший Python
6 893
Python пришел в телеграм!
Python — второй по популярности язык в мире. Он очень универсален: можно писать сайты, а можно искусственный интеллект. Теперь у Python есть русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсах. Стоит подписаться!
6 893
Напишите функцию, которая принимает на вход список словарей, представляющих собой записи о студентах. Каждый словарь содержит ключи 'name', 'age' и 'grade'. Функция должна возвращать средний возраст студентов и среднюю оценку. Напишите код и объясните, как бы вы обработали случаи, когда в словарях отсутствуют ключи или значения не являются числами.
Объяснение:
В этой функции мы проходим по списку словарей, проверяем наличие ключей 'name', 'age' и 'grade' и их типы. Если данные валидны, добавляем их к общей сумме, чтобы затем посчитать средние значения.
Разъяснивший Python
6 893
Метод intersection()
Метод intersection() возвращает новое множество с элементами, общими для всех множеств. Если аргумент не передается в intersection(), он возвращает поверхностную копию множества (A).
Разъяснивший Python
6 893
Хочешь наладить свою личную жизнь?
SHARM - Премиальный клуб для знакомств по всему миру. Без фейков, грязи и сомнительных личностей.
Организация мероприятий, консьерж-сервис высокого уровня
Подробнее о проекте
6 893
Функция range()
Функция range() возвращает последовательность чисел в заданном диапазоне. Если ты передаешь в функцию range() один аргумент, это означает, что передается аргумент stop. В этом случае range() возвращает последовательность чисел, начиная с 0 до указанного (не включительно). Если ты передаешь два аргумента в range(), это означает, что передаются аргументы start и stop. В этом случае range() возвращает последовательность чисел, начиная с start (включительно) до stop (не включая).
Разъяснивший Python
6 893
90% москвичей бывают на Красной Площади только когда приводят туда друзей из провинции. И на Арбате ничего не покупают — есть места, где дешевле и лучше. Да и гуляют не в душном Парке Горького.
Фишка в том, что в Москве есть куча крутых мест, о которых знают только старожилы. И как раз о них пишут в этом канале — Первый Московский.
Здесь тебе подскажут, куда позвать девушку на свидание— так чтоб дешево и нестыдно. Расскажут интересные новости и события Москвы, о которых не в пишут СМИ и не знают даже сторожили города. Кино, театры, арт-пространства — вариантов отдохнуть тонна и без Большого Театра.
В общем, это главный гид по столице. Подписывайтесь, Москва куда интереснее, чем ты думаешь: https://t.me/+oJ6cQF8XyhhjZWNi
6 893
Напишите функцию, которая принимает на вход строку и возвращает количество уникальных слов в этой строке. Считайте, что слова разделяются пробелами, знаками препинания должны быть удалены. Напишите код и расскажите, как вы обрабатываете знаки препинания. Какие дополнительные оптимизации можно внести?
Объяснение:
В этом коде мы используем string.punctuation для определения знаков препинания и str.translate() для удаления их из строки. Затем мы приводим всю строку к нижнему регистру и разбиваем ее на слова, считая количество уникальных слов с использованием множества (set).
Оптимизации:
Мы могли бы использовать регулярные выражения для более точного удаления знаков препинания и разделения слов. Вместо создания промежуточного списка words, мы могли бы сразу подсчитывать уникальные слова при проходе по строке, что сэкономило бы память.
Разъяснивший Python
6 893
Все для изучения Data Science
Собрали все что потребуется для изучения data science
👉 Логово Дата Сайнтиста | Machinelearning [ru] - канал для изучения data science и machinelearning
👉 Логово питониста | Python - канал для изучения python и его аспектов связанных с data science.
Добро пожаловать!
6 893
Функция range()
Функция range() возвращает последовательность чисел в заданном диапазоне. Если ты передаешь в функцию range() один аргумент, это означает, что передается аргумент stop. В этом случае range() возвращает последовательность чисел, начиная с 0 до указанного (не включительно). Если ты передаешь два аргумента в range(), это означает, что передаются аргументы start и stop. В этом случае range() возвращает последовательность чисел, начиная с start (включительно) до stop (не включая).
Разъяснивший Python
6 893
Объясните, что делает данная функция (первая картинка), оптимизируйте ее, и напишите тесты для проверки ее корректности.
Что делает функция:
Данная функция some_function принимает список чисел input_list, проходится по каждому элементу в списке, проверяет, является ли элемент четным числом, и если да, то добавляет квадрат этого числа в новый список result. В конце функция возвращает этот новый список.
Оптимизация кода:
Мы можем использовать list comprehension для более компактной записи этой функции:
def optimized_function(input_list):
return [item 2 for item in input_list if item % 2 == 0]
Также, если вам необходимо, чтобы функция работала для любого итерируемого объекта, вы можете добавить проверку на четность элемента и заменить на использование генератора:
def general_function(iterable):
return (item 2 for item in iterable if item % 2 == 0)
Разъяснивший Python
6 893
string.rstrip
rstrip() возвращает копию строки с удаленными конечными символами. Все комбинации символов в аргументе chars удаляются справа от строки до первого несоответствия. Если аргумент chars не указан, все конечные пробелы удаляются из строки.
Разъяснивший Python
