Writing Functions in Python
Shayne Miel
Software Architect @ Duo Security
def sleep_n_seconds(n=10): """Pause processing for n seconds. Args: n (int): The number of seconds to pause for. """ time.sleep(n)
print(sleep_n_seconds.__doc__)
Pause processing for n seconds.
Args:
n (int): The number of seconds to pause for.
def sleep_n_seconds(n=10): """Pause processing for n seconds. Args: n (int): The number of seconds to pause for. """ time.sleep(n)
print(sleep_n_seconds.__name__)
sleep_n_seconds
print(sleep_n_seconds.__defaults__)
(10,)
@timer def sleep_n_seconds(n=10): """Pause processing for n seconds. Args: n (int): The number of seconds to pause for. """ time.sleep(n)
print(sleep_n_seconds.__doc__)
print(sleep_n_seconds.__name__)
wrapper
def timer(func):
"""A decorator that prints how long a function took to run."""
def wrapper(*args, **kwargs):
t_start = time.time()
result = func(*args, **kwargs)
t_total = time.time() - t_start
print('{} took {}s'.format(func.__name__, t_total))
return result
return wrapper
from functools import wraps
def timer(func): """A decorator that prints how long a function took to run.""" @wraps(func) def wrapper(*args, **kwargs):
t_start = time.time() result = func(*args, **kwargs) t_total = time.time() - t_start print('{} took {}s'.format(func.__name__, t_total)) return result
return wrapper
@timer def sleep_n_seconds(n=10): """Pause processing for n seconds. Args: n (int): The number of seconds to pause for. """ time.sleep(n)
print(sleep_n_seconds.__doc__)
Pause processing for n seconds.
Args:
n (int): The number of seconds to pause for.
@timer def sleep_n_seconds(n=10): """Pause processing for n seconds. Args: n (int): The number of seconds to pause for. """ time.sleep(n)
print(sleep_n_seconds.__name__)
sleep_n_seconds
@timer def sleep_n_seconds(n=10): """Pause processing for n seconds. Args: n (int): The number of seconds to pause for. """ time.sleep(n)
sleep_n_seconds.__wrapped__
<function sleep_n_seconds at 0x7f52cab44ae8>
Writing Functions in Python