Название: Think Python 2nd Edition - How to Think Like a Computer Scientist

Автор: Allen B. Downey

Язык: Английский

Год: 2015

Лицензия: Creative Commons Attribution-NonCommercial 3.0 Unported License

ID: 2

Сайт книги: http://greenteapress.com/wp/think-python-2e/

Скачать: PDF

 

 

 

Оглавление

Preface
        The strange history of this book
        Acknowledgments
        Contributor List

The way of the program
        What is a program?
        Running Python
        The first program
        Arithmetic operators
        Values and types
        Formal and natural languages
        Debugging
        Glossary
        Exercises

Variables, expressions and statements
        Assignment statements
        Variable names
        Expressions and statements
        Script mode
        Order of operations
        String operations
        Comments
        Debugging
        Glossary
        Exercises

Functions
        Function calls
        Math functions
        Composition
        Adding new functions
        Definitions and uses
        Flow of execution
        Parameters and arguments
        Variables and parameters are local
        Stack diagrams
        Fruitful functions and void functions
        Why functions?
        Debugging
        Glossary
        Exercises

Case study: interface design
        The turtle module
        Simple repetition
        Exercises
        Encapsulation
        Generalization
        Interface design
        Refactoring
        A development plan
        docstring
        Debugging
        Glossary
        Exercises

Conditionals and recursion
        Floor division and modulus
        Boolean expressions
        Logical operators
        Conditional execution
        Alternative execution
        Chained conditionals
        Nested conditionals
        Recursion
        Stack diagrams for recursive functions
        Infinite recursion
        Keyboard input
        Debugging
        Glossary
        Exercises

Fruitful functions
        Return values
        Incremental development
        Composition
        Boolean functions
        More recursion
        Leap of faith
        One more example
        Checking types
        Debugging
        Glossary
        Exercises

Iteration
        Reassignment
        Updating variables
        The while statement
        break
        Square roots
        Algorithms
        Debugging
        Glossary
        Exercises

Strings
        A string is a sequence
        len
        Traversal with a for loop
        String slices
        Strings are immutable
        Searching
        Looping and counting
        String methods
        The in operator
        String comparison
        Debugging
        Glossary
        Exercises

Case study: word play
        Reading word lists
        Exercises
        Search
        Looping with indices
        Debugging
        Glossary
        Exercises

Lists
        A list is a sequence
        Lists are mutable
        Traversing a list
        List operations
        List slices
        List methods
        Map, filter and reduce
        Deleting elements
        Lists and strings
        Objects and values
        Aliasing
        List arguments
        Debugging
        Glossary
        Exercises

Dictionaries
        A dictionary is a mapping
        Dictionary as a collection of counters
        Looping and dictionaries
        Reverse lookup
        Dictionaries and lists
        Memos
        Global variables
        Debugging
        Glossary
        Exercises

Tuples
        Tuples are immutable
        Tuple assignment
        Tuples as return values
        Variable-length argument tuples
        Lists and tuples
        Dictionaries and tuples
        Sequences of sequences
        Debugging
        Glossary
        Exercises

Case study: data structure selection
        Word frequency analysis
        Random numbers
        Word histogram
        Most common words
        Optional parameters
        Dictionary subtraction
        Random words
        Markov analysis
        Data structures
        Debugging
        Glossary
        Exercises

Files
        Persistence
        Reading and writing
        Format operator
        Filenames and paths
        Catching exceptions
        Databases
        Pickling
        Pipes
        Writing modules
        Debugging
        Glossary
        Exercises

Classes and objects
        Programmer-defined types
        Attributes
        Rectangles
        Instances as return values
        Objects are mutable
        Copying
        Debugging
        Glossary
        Exercises

Classes and functions
        Time
        Pure functions
        Modifiers
        Prototyping versus planning
        Debugging
        Glossary
        Exercises

Classes and methods
        Object-oriented features
        Printing objects
        Another example
        A more complicated example
        The init method
        The __str__ method
        Operator overloading
        Type-based dispatch
        Polymorphism
        Debugging
        Interface and implementation
        Glossary
        Exercises

Inheritance
        Card objects
        Class attributes
        Comparing cards
        Decks
        Printing the deck
        Add, remove, shuffle and sort
        Inheritance
        Class diagrams
        Debugging
        Data encapsulation
        Glossary
        Exercises

The Goodies
        Conditional expressions
        List comprehensions
        Generator expressions
        any and all
        Sets
        Counters
        defaultdict
        Named tuples
        Gathering keyword args
        Glossary
        Exercises

Debugging
        Syntax errors
        Runtime errors
        Semantic errors

Analysis of Algorithms
        Order of growth
        Analysis of basic Python operations
        Analysis of search algorithms
        Hashtables
        Glossary

 

Index