Python Learning
35.4K subscribers
1.89K photos
8 videos
7 files
886 links
№ 4974297878

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
Что выведет код сверху?
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
Разбиение на фрагменты

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

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

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

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

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

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

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

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

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

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

Подробнее про модуль secrets можно почитать здесь.
#Вопросы_с_собеседования

Что плохого в следующем коде?

Ответ:
В Python нет объявлений переменных, поэтому он должен сам определить их область действия. Если внутри функции имеется обращение к переменной, то она считается локальной. Переменная count выше является глобальной, поэтому код выбрасывает ошибку.
Узнаем погоду с помощью Python

PyOWM — это клиентская библиотека-оболочка Python для веб-API OpenWeatherMap (OWM). Это позволяет быстро и легко использовать данные OWM из приложений Python с помощью простой объектной модели и удобным для человека способом.

Установка библиотеки - pip установить pyowm.

Для того чтобы воспользоваться данной библиотекой нужно зарегистрироваться на данном сайте(очень быстрая регистрация) и получить токен на почту.

В нашем примере мы узнаем погоду в данный момент в городе Мадрид(Испания).

Документацию пакета можно найти здесь.
Что выведет код сверху?
Anonymous Quiz
23%
2,4
19%
2
12%
1
46%
Error
Проигрывание аудио с playsound

Данный пакет содержит всего одну функцию для проигрывания аудиофайлов. На вход эта функция принимает адрес файла в файловой системе компьютера.

Установка - pip install playsound.

Документация лежит здесь.
Пишем таймер на Python

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

Ниже будет располагаться пример работы нашего таймера.
Python Learning
Информации по поводу проекта будет много, поэтому она будет опубликована в нашем чатике https://t.me/Chat_for_Python через несколько минут
Информация по проекту

Друзья, выкладывайте свой код на гитхаб и присылайте сюда (@valentin_mascarov) ссылку на ваш код с хештегом "проект".

Ближе к дедлайну все вместе решим как будем определить победителя.