SICP in Python
Introduction
1.
Chapter 1: Building Abstractions with Functions
1.1.
1.1 Introduction
1.2.
1.2 The Elements of Programming
1.3.
1.3 Defining New Functions
1.4.
1.4 Practical Guidance: The Art of the Function
1.5.
1.5 Control
1.6.
1.6 Higher-Order Functions
2.
Chapter 2: Building Abstractions with Objects
2.1.
2.1 Introduction
2.2.
2.2 Data Abstraction
2.3.
2.3 Sequences
2.4.
2.4 Mutable Data
2.5.
2.5 Object-Oriented Programming
2.6.
2.6 Implementing Classes and Objects
2.7.
2.7 Generic Operations
3.
Chapter 3: The Structure and Interpretation of Computer Programs
3.1.
3.1 Introduction
3.2.
3.2 Functions and the Processes They Generate
3.3.
3.3 Recursive Data Structures
3.4.
3.4 Exceptions
3.5.
3.5 Interpreters for Languages with Combination
3.6.
3.6 Interpreters for Languages with Abstraction
4.
Chapter 4: Distributed and Parallel Computing
4.1.
4.1 Introduction
4.2.
4.2 Distributed Computing
4.3.
4.3 Parallel Computing
5.
Chapter 5: Sequences and Coroutines
5.1.
5.1 Introduction
5.2.
5.2 Implicit Sequences
5.3.
5.3 Coroutines
Powered by
GitBook
SICP in Python
Chapter 1: Building Abstractions with Functions
Contents
1.1 Introduction
1.1.1 Programming in Python
1.1.2 Installing Python 3
1.1.3 Interactive Sessions
1.1.4 First Example
1.1.5 Practical Guidance: Errors
1.2 The Elements of Programming
1.2.1 Expressions
1.2.2 Call Expressions
1.2.3 Importing Library Functions
1.2.4 Names and the Environment
1.2.5 Evaluating Nested Expressions
1.2.6 Function Diagrams
1.3 Defining New Functions
1.3.1 Environments
1.3.2 Calling User-Defined Functions
1.3.3 Example: Calling a User-Defined Function
1.3.4 Local Names
1.3.5 Practical Guidance: Choosing Names
1.3.6 Functions as Abstractions
1.3.7 Operators
1.4 Practical Guidance: The Art of the Function
1.4.1 Docstrings
1.4.2 Default Argument Values
1.5 Control
1.5.1 Statements
1.5.2 Compound Statements
1.5.3 Defining Functions II: Local Assignment
1.5.4 Conditional Statements
1.5.5 Iteration
1.5.6 Practical Guidance: Testing
1.6 Higher-Order Functions
1.6.1 Functions as Arguments
1.6.2 Functions as General Methods
1.6.3 Defining Functions III: Nested Definitions
1.6.4 Functions as Returned Values
1.6.5 Lambda Expressions
1.6.6 Example: Newton's Method
1.6.7 Abstractions and First-Class Functions
1.6.8 Function Decorators