12. Functions and Classes#

12.1. Introduction#

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.7. Key Takeaways#

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#