Python Learning
34K subscribers
1.93K photos
8 videos
7 files
930 links
№ 4974297878

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
Что выведет код сверху?
Anonymous Quiz
48%
16
9%
1
12%
None
31%
Error
👍33🤔13😱10👎3🔥1
Создаем бесконечный итератор

Функция cycle() из модуля itertools принимает на вход итерируемый объект и создает бесконечный итератор, циклически возвращающий элементы данного объекта.

Фишка в том, что когда элементы последовательности заканчиваются, итерация начинается вновь с первого элемента.

Но если вы проходитесь циклом по такому итератору, то важно предусмотреть выход из цикла, иначе он станет бесконечным (как у нас в первом случае на картинке).

Мы также можем воспользоваться islice(), который вернет итератор по подмножеству переданного объекта.
👍211
defaultdict

Класс defaultdict() модуля collections ни чем не отличается от обычного словаря за исключением того, что по умолчанию всегда вызывается функция, которая возвращает значение по умолчанию для новых значений. Другими словами Класс defaultdict() представляет собой словарь со значениями по умолчанию.

Подробнее с классом можно ознакомиться здесь.
🔥123👍1👎1
👍5
Что выведет код сверху?
Anonymous Quiz
16%
new
29%
init
24%
newinit
16%
None
14%
Error
👍5🔥1🤔1
Определяем язык текста

В данном посте покажем, как с помощью библиотеки langdetect определить язык текстового фрагмента. Для начала необходимо поставить библиотеку - pip install langdetect.

Заметим, что код импортирован на питон из гугловской библиотеки language-detection, поэтому качество распознавания языка находится на уровне.

По умолчанию поддерживается 55 языков.
👍301
Что выведет код сверху?
Anonymous Quiz
26%
[1]
35%
[1, 1]
23%
[1, 1, 1]
16%
Error
👍22🤔14😱9
Перевод текста с помощью Python

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

Установка пакета - pip install translate.

В нашем примере мы переводим английскую фразу на испанский язык.
👍34🤔2👎1
🔥13👍1
Что выведет код сверху?
Anonymous Quiz
26%
[1, 2, 4]
27%
[4, 2, 3]
21%
[1, 2, 3]
26%
Error
🔥12👍8😱7🤔4
Работа с регистрами

Форматирование текста — это боль каждого data scientist’а. Слова и предложения в разных форматах создают много проблем при очистке данных. Однако и для этих задач в Python есть нужные функции.
👍28🔥1
Что выведет код сверху?
Anonymous Quiz
5%
1 2 3+
43%
1 2+ 3++
7%
1 2+ 3+
7%
1 2 3++
22%
1 2 2+ 3+ 3++
16%
Error
🔥23👍8
Разбиение на фрагменты

Этот пример покажет, как разбить список на фрагменты и разделить его на меньшие части.
👍26😱1
Рекурсия и Фибоначчи

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

В примере вы можете наблюдать функцию, которая использует рекурсию для вычисления чисел из ряда Фибоначчи — это ряд чисел, в котором первые два числа являются 0 и 1, а каждое последующее число — сумма двух предыдущих.

Программа годится как учебный пример, однако на больших числах начинает зависать и медленно работать — требуется оптимизация.
👍21🤔4
Хвостовая рекурсия

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

Так, классическое определение рекурсивного факториала return N * fact(N - 1) не поддерживает хвостовую рекурсию, потому что для каждого стек-фрейма придется хранить текущее значение N.

Чтобы сделать рекурсии хвостовой, добавляют параметры-аккумуляторы. Благодаря им функция знает о своем текущем состоянии. Пусть параметр acc по умолчанию равен 1. Тогда запись с хвостовой рекурсией будет выглядеть так(см картинку).
🤔27👍8
👍21😱1
Генерируем пароли и токены

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

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

В нашем примере мы генерируем пароль из 20 символов, который будет состоять из цифр и букв английского алфавита.

Подробнее про модуль secrets можно почитать здесь.
19👍10🔥2😱2👎1