Functions are defined with def and are first-class objects.
1Arguments and scope
Default values are evaluated once — avoid mutable defaults
*args collects positional, **kwargs keyword arguments
LEGB scope rule: Local, Enclosing, Global, Built-in
global and nonlocal allow assignment to outer variables