Python Learning
34.5K subscribers
1.92K photos
8 videos
7 files
918 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://yangx.top/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
Аудиомодуль Dejavu

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

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

Модуль Dejavu превосходит распознавание отдельных сигналов с реалистичным количеством шума.

Подробнее можно почитать здесь.
👍213🎉1🏆1
defaultdict: безошибочный словарь

Обычный словарь dict в Python содержит пары вида «ключ:значение». Значение из словаря можно запросить по ключу. В случае если запрашиваемого ключа в словаре нет, Python выдаст ошибку.

Поведение логичное, но не слишком удобное для работы. Словарь defaultdict из библиотеки collections поступает иначе: если запросить у такого продвинутого словаря ключ, которого в нём нет, он не обидится и не выкинет ошибку, а вместо этого:

— создаст этот ключ;
—создаст к нему значение, которое будет иметь тип, оговорённый по умолчанию («по дефолту» — отсюда, кстати, и название), — например, целое число или строку;
—вернёт вам это значение.
🍾153👍3🎉3🏆2😢1
#Вопросы_с_собеседования

Что будет выведено после второго вызова append() в коде выше?

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

>>> append() # при первом вызове без аргумента используется значение по умолчанию []
[0]
>>> append() # но затем...
[0, 1]
>>> append() # последовательные вызовы расширяют список по умолчанию
[0, 1, 2]
>>> append() # и так продолжается...
[0, 1, 2, 3]
.
👍24🔥5🍾1
Проверка четности или нечетности числа без использования оператора %

Хотя этот трюк не намного лучше, чем использование оператора %, но иногда он эффективен (с большими числами).

Рассмотрим пару примеров:
k = 3
Двоичный: «11 & 1» будет 001, поэтому число нечетное
k = 4
Двоичный: «100 & 1» будет 000, поэтому число четное.
👍56🔥21😱1
#Вопросы_с_собеседования

Приведите пример множественного наследования

Ответ на картинке.
👍20
Подсчет количества слов в текстовом файле

В этом примере в Python мы прочитаем текстовый файл и посчитаем количество слов в нем.

Рассмотрим следующий текстовый файл.
👍302
#Вопросы_с_собеседования

Объясните функции help() и dir() в Python.

Функция help() отображает строку документации и справку для ее аргумента. Пример по при вызове с функцией copy на картинке.

Функция dir() отображает все члены объекта (любого типа). Например:
```dir(copy.copy)
```# ['__annotations__', '__call__', '__class__', '__closure__', ...
👍19😢2
This media is not supported in your browser
VIEW IN TELEGRAM
tqdm

Отличный инструмент для подключения диаграммы выполнения вашей программы. Название происходит от арабского слова "taqadum", что означает "прогресс".
Для создания прогресс-бара необходим лишь один вызов функции:

from tqdm import tqdm
from tqdm.notebook import tqdm # для использования в Jupyter Notebook

for i in tqdm(range(10000)):
...


На гифке пример прогрессбара. В реальном времени показывается процент выполнения, визуальное представление, сколько итераций завершилось, скорость выполнения и ожидаемое время окончания, а сам модуль не требует никаких внешних библиотек.
👍252🎉1
Эффективный трюк, чтобы узнать, является ли число степенью двойки

Обычный метод деления имеет сложность O(logN), но эту задачу можно решить со сложностью O(v), где v — количество цифр числа в двоичной форме.

Подробнее ознакомиться с тем как работает данный трюк можно здесь.
👍36🔥1😱1
👍113
Строим точечную диаграмму с помощью Python

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

Результат данного кода представлен в посте выше.
👍302
Изучение SQL с нуля

👉@SQl_and_DB_Learning👈

Подписывайся и изучай новый для себя язык программирования.
👍1
#Вопросы_с_собеседования

Выведите список файлов в указанной директории

Ответ на картинке.
👍27🤔1
Junior Python Developer: полный разбор собеседования и ответы на наиболее частые вопросы интервью

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

Смотреть видео
👍15🔥6
Получение срезов итераторов

Если вы попытаетесь получить срез итератора, то столкнётесь с ошибкой TypeError, сообщающей о том, что на объект-генератор нельзя оформить подписку. Однако эта проблема поддаётся решению (см картинку).

Воспользовавшись методом itertools.islice, можно создать объект islice, который представляет собой итератор, выдающий нужные элементы. Однако здесь важно отметить то, что эта конструкция использует все элементы генератора вплоть до начала среза и все элементы в объекте islice.
👍101
😱2
Что выведет код сверху?
Anonymous Quiz
7%
0.5
11%
0
6%
2
28%
6
9%
None
39%
Error
👍22🤔20
Распределение памяти в Python: сколько и в каких случаях занимают типы данных

В этом материале разберем, как устроено выделение памяти под объекты в Python. Потом кратко о том, как работает очистка памяти от неиспользуемых объектов. И, наконец, о разнице в занимаемой памяти на примере типов list, dict и tuple.

Смотреть статью
👍15