12. Functions and Classes
12.2. Learning Objectives
12.3. Functions: Building Reusable Code Blocks
12.3.1. Defining a Simple Function
12.3.2. Parameters with Default Values
12.3.3. Understanding Function Calls
12.3.4. Geospatial Example: Haversine Function
12.3.5. Function with Default Values and Geospatial Application
12.3.6. Processing Multiple Coordinates
12.3.7. Advanced Parameter Handling
12.3.7.1. Variable Arguments with *args
12.3.7.2. Keyword Arguments with **kwargs
12.4. Classes: Organizing Data and Behavior Together
12.4.1. Defining a Simple Class
12.4.2. Adding Methods to a Class
12.4.3. Constructor with Default Values
12.5. Combining Functions and Classes
12.6. Function and Class Design Guidelines
12.8. Exercises
12.8.1. Exercise 1: Calculating Distances with Functions
12.8.2. Exercise 2: Batch Distance Calculation
12.8.3. Exercise 3: Creating and Using a Point Class