Functions allow you to reuse code by defining blocks of code that can be called. Functions can take parameters and return values. To define a function, use the def keyword followed by the function name and parameters in parentheses. The code block is indented and starts with a colon. To call a function, use the function name followed by parentheses. Arguments can be passed into functions when calling them to provide input.