Skip to content

Functions chapter #93

Open
Open
@alexmojaki

Description

@alexmojaki

Some things to add to the current functions chapter:

  • In the page on calling functions from functions, after showing what this looks like in various debuggers, I want to show what it looks like in a traceback. An exception should be raised in the innermost function (e.g. by intentionally misspelling a name) and then explain the resulting traceback.
  • Scope and local variables:
    • Explain that variables defined in one function are not accessible outside that function
    • If they want to access them, they should return them
    • However they can access global variables from within a function
    • Explain that global and local variables should have different names to avoid errors
  • Explain that return ends the function call. Sometimes beginners want to return a list of values like this:
def double_nums(nums):
    for n in nums:
        return n * 2

Explain that they must build up a list instead. Maybe hint at generators but don't actually show them.

Things that will only be covered in a later chapter:

  • Variadic, named, or optional arguments/parameters
  • Higher order functions, functions as objects, functional programming, etc.
  • How to set global variables with the global statement
  • Inner functions and closures

Metadata

Metadata

Assignees

No one assigned

    Labels

    course materialText and exercises that students work through

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions