RUVIDEO
Поделитесь видео 🙏

[decorators em Python] смотреть онлайн

Neste vídeo, vou explicar como criar decorators em Python que podem aceitar argumentos opcionais. Os decorators são uma ferramenta poderosa para adicionar funcionalidades extras a funções existentes, e com argumentos opcionais, podemos personalizar ainda mais seu comportamento.

Para começar, importamos o módulo wraps da biblioteca functools. Em seguida, criamos o decorator vezes_x, que possui três argumentos opcionais: f_py, printoi e n. O argumento f_py permite que o decorator seja usado tanto com ou sem parênteses, dependendo se uma função é passada explicitamente ou não.

Dentro do decorator, definimos uma função _decorator que recebe a função original como argumento. Em seguida, definimos a função wrapper que envolve a função original. Dentro do wrapper, verificamos se a opção printoi está ativada e, se sim, imprimimos uma mensagem. Depois, chamamos a função original e multiplicamos o resultado por n. Por fim, exibimos uma mensagem informando que a execução foi concluída e retornamos o resultado.

Demonstro o uso do decorator vezes_x em duas funções, f1 e f2, mostrando como podemos personalizar o comportamento do decorator ao especificar argumentos opcionais. Em seguida, mostro outro exemplo com o decorator vezes_x2, que possui apenas o argumento f_py. Nesse caso, dentro do wrapper, solicitamos ao usuário que insira um valor para multiplicação, multiplicamos o resultado da função original por esse valor e exibimos uma mensagem de conclusão.

Finalmente, aplico ambos os decorators à função calc_e_multi, demonstrando como podemos combinar decorators para adicionar várias funcionalidades a uma única função.

Espero que este vídeo ajude você a entender como criar decorators com argumentos opcionais em Python. Se você gostou, não se esqueça de deixar seu like e compartilhar o vídeo. Se tiver alguma dúvida ou sugestão, deixe nos comentários. Obrigado por assistir e até a próxima!

Código usado no vídeo:

from functools import wraps

# xxxxxxxxxxxxxx - código adicionado ao esqueleto


def vezes_x(f_py=None, printoi=False, n=2):
assert callable(f_py) or f_py is None

def _decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
if printoi: # xxxxxxxxxxxxxx
print("oi, tudo bem?") # xxxxxxxxxxxxxx
result = func(*args, **kwargs)
result = result * n # xxxxxxxxxxxxxx
print("Acabamos") # xxxxxxxxxxxxxx
return result

return wrapper

return _decorator(f_py) if callable(f_py) else _decorator


@vezes_x
def f1():
return 5 * 4


@vezes_x(printoi=True, n=10)
def f2():
return 5 * 4


r1 = f1()
r2 = f2()


def vezes_x2(f_py=None):
assert callable(f_py) or f_py is None

def _decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
# multi = int(input().strip()) # xxxxxxxxxxxxxx
# result = result * multi # xxxxxxxxxxxxxx
# print('Acabamos') # xxxxxxxxxxxxxx
return result

return wrapper

return _decorator(f_py) if callable(f_py) else _decorator


@vezes_x(printoi=True, n=10)
@vezes_x2
def calc_e_multi():
i = 2 * 7
print(i)
return i


r = calc_e_multi()


@decorators
def func():
...

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «[decorators em Python]» бесплатно и без регистрации, вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.