Чудова робота!

Написання функцій у Python

Shayne Miel

Software Architect @ Duo Security

Розділ 1 — Найкращі практики

  • Рядки документації (docstrings)
  • DRY і «робіть одну річ»
  • Передача за присвоєнням (змінювані vs незмінювані)
Написання функцій у Python

Розділ 2 — Менеджери контексту

with my_context_manager() as value:
  # do something
@contextlib.contextmanager
def my_function():
  # this function can be used in a "with" statement now
Написання функцій у Python

Розділ 3 — Декоратори

@my_decorator
def my_decorated_function():
  # do something
def my_decorator(func):
  def wrapper(*args, **kwargs):
    return func(*args, **kwargs)
  return wrapper
Написання функцій у Python

Розділ 4 — Більше про декоратори

def my_decorator(func):
  @functools.wraps(func)
  def wrapper(*args, **kwargs):
    return func(*args, **kwargs)
  return wrapper
Написання функцій у Python

Розділ 4 — Більше про декоратори

def decorator_that_takes_args(a, b, c):
  def decorator(func):
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
      return func(*args, **kwargs)
    return wrapper
  return decorator
Написання функцій у Python

Дякуємо!

Написання функцій у Python

Preparing Video For Download...