Skip to main content
Library homepage
 

Text Color

Text Size

 

Margin Size

 

Font Type

Enable Dyslexic Font
Engineering LibreTexts

6: Functions

( \newcommand{\kernel}{\mathrm{null}\,}\)

  • 6.0: Introduction
    This page discusses the importance of functions in software development for optimizing code and enabling code reuse. Functions can accept and return values, allowing them to perform various tasks, including complex calculations. They help create different execution paths, similar to branching statements. Additionally, the chapter explores control flow and variable scope in programming.
  • 6.1: Defining Functions
    This page outlines key programming learning objectives regarding functions, including identifying function calls, defining parameterless functions, and the benefits of modular and reusable code. It includes examples, proper naming conventions, checkpoints, and practice concepts, with step-by-step tasks and user-driven functions emphasized for real-world applications.
  • 6.2: Control Flow
    This page discusses control flow in programming, detailing how execution transitions between statements and function calls. It explains the importance of the order of execution and how invoking functions shifts control to their definitions, returning afterward. The text highlights modular programming through functions calling other functions and includes exercises to illustrate these concepts.
  • 6.3: Variable Scope
    This page discusses variable scope in programming, distinguishing between global and local scope. It highlights the implications of shared variable names and emphasizes limiting scope for better debugging and maintenance. The section includes practical exercises on global and local variables and concludes with a challenge to create a user-input game program based on these concepts.
  • 6.4: Parameters
    This page explains function arguments and parameters in programming, highlighting the differences between them. It discusses how mutability affects function behavior, noting that mutable objects can be modified, while immutable ones cannot. Practical examples, like printing messages and performing calculations, are provided to illustrate these concepts. It also advises caution in altering arguments to prevent debugging challenges.
  • 6.5: Return Values
    This page outlines key learning objectives related to return statements in functions, illustrating how they return values to the calling code. It includes examples of multiple return statements and emphasizes avoiding division by zero. The text also discusses using functions as values in expressions and offers problem-solving exercises to enhance understanding.
  • 6.6: Keyword Arguments
    This page explains positional and keyword arguments in Python functions, detailing their assignment method and the significance of order when combining them. It introduces default parameter values, provides examples of function calls, and highlights PEP 8 style guidelines for spacing. The text concludes with a task to implement a donation function utilizing these concepts.
  • 6.7: Chapter Summary
    This page discusses key concepts of functions in programming, emphasizing their role as organized code blocks that enhance program structure. It covers control flow, variable scope (global vs. local), and the use of parameters and arguments, including positional, keyword, and default values. The chapter highlights Python’s pass-by-object-reference system and the importance of return statements. Ultimately, readers are expected to learn how to create versatile functions.


This page titled 6: Functions is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by OpenStax via source content that was edited to the style and standards of the LibreTexts platform.

Support Center

How can we help?