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

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
Генерируем ip адреса

С помощью следующего фрагмента кода мы можем с легкостью сгенерировать ip адрес.
👍34🎉4🏆2🍾1
Разница между генераторными выражениями и генераторами коллекций

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

Распечатав переменные, можно заметить, что значением переменной a является список, а переменная x хранит в себе объект генератора. И здесь возникает вопрос: что же использовать?

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

А если же значения понадобятся еще не скоро или неизвестно, понадобятся ли вообще, то предпочтительнее использовать генераторы, чтобы не занимать лишнюю память и не нагружать систему.
👍14🍾41🥰1🎉1🏆1
Узнаем отношение доллара к биткоину

С помощью следующего фрагмента кода мы узнаем что в настоящее время 5 тысяч долларов равняется 0.29 биткоина.

forex-python позволяет получать данные о курсе валют в определённое время и конвертировать одну валюту в другую.

Установка пакета - pip install forex-python.
🏆11👍6🍾3🎉1
Аннотации типов

Python имеет динамическую типизацию, и многие часто ругают за это язык.

Однако в новых версиях добавили поддержку аннотаций типов переменных, полей классов, аргументов функций и возвращаемых значений, что призвано упростить чтение и понимание кода.
👍29🎉4🏆1🍾1
👍7🎉1
Каким будет результат выполнения кода?
Anonymous Quiz
25%
1
44%
2
14%
Error
3%
0
14%
Узнать ответ
🤔15👍9🍾7🏆5🎉4😱3
Копируем файл в другой каталог

Метод Shutil.copy() в Python используется для копирования содержимого исходного файла в целевой файл или каталог. Он также сохраняет режим разрешений файла, но другие метаданные файла, такие как время создания и изменения файла, не сохраняются.

Подробнее с модулем Shutil можно ознакомиться здесь.
👍9🍾9🏆3😢1🎉1
Примеры форматирования строк

Метод s.format() представляет собой основной метод API. Он принимает строку формата format_string и произвольный набор позиционных *args и ключевых **kwargs аргументов. Это просто оболочка, которая вызывает s.vformat().

Подробнее про форматирование строк можно почитать здесь.
👍20🏆5🎉2🍾1
#Вопросы_с_собеседования

Что означает self в классе?

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

На картинке передача self в __init__() дает возможность установить цвет экземпляра при инициализации.
👍1312🎉3🏆3🍾1
#Вопросы_с_собеседования

Что такое pickling и unpickling?

Модуль pickle принимает любой объект Python, преобразует его в строковое представление и сохраняет в файл с помощью функции dump, такой процесс называется pickling.

Процесс извлечения исходных объектов Python из сохраненного строкового представления называется unpickling.
👍23🍾3🎉1🏆1
Вставляем одно изображение в другое с помощью Pillow

Метод paste() из библиотеки Pillow, предоставляет возможность вставки одного изображения в другое изображение.

По умолчанию изображение вставляется в верхней левой части фоновой картинки.

Подробнее можно ознакомиться здесь.
👍4🏆2🔥1🎉1🍾1
15🔥4
Рисуем 3D-куб с помощью Python

В этой посте мы рассмотрим трехмерные графики кубов с использованием matplotlib и Numpy. Кубы — одна из самых основных трехмерных фигур.

Куб — это трехмерный твердый объект, ограниченный 6 одинаковыми квадратными гранями. Куб имеет 6 граней, 12 ребер и 8 углов. Все грани — квадраты одинакового размера. Общая площадь поверхности куба равна сумме площадей шести одинаковых квадратов.

Наш куб находится в посте сверху.

Подробнее пояснение по коду можно найти здесь.
14👍4🍾3🏆1
Лайфхаки Python: сэкономить память и ускорить выполнение программы

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

Смотреть статью
👍9🏆21
#Вопросы_с_собеседования

Что делает функция zip()?

Она возвращает итератор кортежей, формирует n-пару значений из перечисляемых, передаваемых функции. n — кол-во итерируемых, которые передают функции.

Чтобы лучше понять работу zip, изучите картинку. В результате работы функции мы получаем список массивов.
🤔12👍112🏆2
🎵 🎵 🎵 🎵

Немного отвлечемся от Pythonчика 🐍 🐍 🐍 🐍

Я уже долгое время не могу пополнить свой плейлист новыми хорошими треками, поэтому хотел бы узнать у вас, дорогих подписчиков, какую музыку вы слушаете и что могли бы порекомендовать 🎤 🎤 🎤 🎤
🤔11🏆43👍1
👍4🍾1
Что выведет код?
Anonymous Quiz
40%
True
26%
False
27%
Error
7%
Другое
😢25🤔10👍6🎉5😱4🍾4
Аудиомодуль 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