Python для начинающих. Урок 20 | Замыкания и декораторы
HTML-код
- Опубликовано: 31 мар 2024
- Курс "Успеть всё" по подготовке к ЕГЭ-2024: clck.ru/38fYoc
В этом уроке познакомимся с такими сложными понятиями в Python, как декораторы и замыкания.
------
Наш чат: t.me/+EscIrZ6YtZ02NTVi
------
Telegram: t.me/plugar_inf
Группа в ВК: plugar_inf
------
Не забываем подписываться!
#python #начинающим #ityoutubersru
Домашнее задание:
Написать функцию, которая возвращает факториал введенного пользователем числа. Написать декоратор, который замеряет время выполнения данной функции.
Не использовать модуль math. Для замера времени вам понадобится функция time() из модуля time.
Использовал time.pref_counter , так как при любом числе выходило 0.0 секунд) Видимо округляло
import time
def factorial(n):
s = 1
for i in range(1, n + 1):
s *= i
return s
def timer(func):
def wrapper(n):
t1 = time.perf_counter()
v = func(n)
t2 = time.perf_counter()
print(f'Время выполнения функции: {t2 - t1} секунд')
return v
return wrapper
f = timer(factorial)
num = int(input('Введите число: '))
print(f'Факториал числа {num} = {f(num)}')
import time
def decorator(func):
def wrapper(a):
begin = time.time()
c = func(a)
end = time.time()
print(end - begin)
return c
return wrapper
@decorator
def f(a):
fact = 1
for i in range(2, a + 1):
fact *= i
return fact
print(f(int(input())))
у тебя на видео есть задании и на следущего видео есть ответ
@@Notnot136 4 получили
@@Vlashstroy тебя 3 зато что использовал чатжпити
Сразу настроение появляется, когда Иван Викторович выпускает новые видео!)
Иван Викторович, педагог с большой буквы! Спасибо тебе за твои видео, за отношение к своей аудитории, благодаря твоим видеороликам тоже решился завести свой канал для подготовки ребят к ОГЭ. Не бросай это нужное дело. Успехов и побольше благодарных учеников!)))) 👍
Отличное объяснение базиса. Преподаватель четко и неоднократно акцентирует внимание на нужных моментах
Спасибо за очередное видео
Спасибо дорогой наш Иван Викторович, хотелось бы почаще ваших новых видео про Пайтон ❤
Как всегда коротко и ясно😊
Тема сложная, но благодаря вам всё понятно, спасибо большое! Скоро буду решать задачи😼
Братец, благодарю за урок! Очень бы хотелось видеть уроки про модуль Telebot ❤
Лучший учитель информатики ❤
Почему я это посмотрел? 😂 Настолько понятно объяснил, мне понравилось.
21 минута балдежа
вы гений
Урааааааа🎉🎉🎉🎉🎉🎉🎉у Вас, кстати, спина белая))))
а у вас коленки сзади грязные)
@@plugar_inf хм.....а вот это может быть правда, ремонт это такое дело)))))
но лучшиййййййййййййййййййййййй
Спасибо. Но очень сложная тема. 46-ти летний паскалист