1) Functions in Python allow for modular and reusable code. A function is defined using the def keyword followed by the function name and parameters.
2) Functions can take arguments, including default, required, keyword, and arbitrary arguments. They can also return single or multiple values.
3) Local variables exist only inside the function whereas global variables can be accessed inside and outside the function. The global keyword is used to modify global variables from within a function.