Differences between revisions 4 and 5
Revision 4 as of 2018-07-22 11:51:35
Size: 5206
Comment: потому что мне вот с четвёртого взгляда не очевидно; про первый я промолчу
Revision 5 as of 2018-07-22 18:38:59
Size: 22894
Editor: FrBrGeorge
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 8: Line 7:
 1. 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
 1. Variables, expressions and statements
  * Assignment statements
  * Variable names
  * Expressions and statements
  * Script mode
  * Order of operations
  * String operations
  * Comments
  * Debugging
  * Glossary
  * Exercises
 1. 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
 1. Case study: interface design
  * The turtle module
  * Simple repetition
  * Exercises
  * Encapsulation
  * Generalization
  * Interface design
  * Refactoring
  * A development plan
  * docstring
  * Debugging
  * Glossary
  * Exercises
 1. 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
 1. Fruitful functions
  * Return values
  * Incremental development
  * Composition
  * Boolean functions
  * More recursion
  * Leap of faith
  * One more example
  * Checking types
  * Debugging
  * Glossary
  * Exercises
 1. Iteration
  * Reassignment
  * Updating variables
  * The while statement
  * break
  * Square roots
  * Algorithms
  * Debugging
  * Glossary
  * Exercises
 1. 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
 1. Case study: word play
  * Reading word lists
  * Exercises
  * Search
  * Looping with indices
  * Debugging
  * Glossary
  * Exercises
 1. 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
 1. 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
 1. 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
 1. 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
 1. Files
  * Persistence
  * Reading and writing
  * Format operator
  * Filenames and paths
  * Catching exceptions
  * Databases
  * Pickling
  * Pipes
  * Writing modules
  * Debugging
  * Glossary
  * Exercises
 1. Classes and objects
  * Programmer-defined types
  * Attributes
  * Rectangles
  * Instances as return values
  * Objects are mutable
  * Copying
  * Debugging
  * Glossary
  * Exercises
 1. Classes and functions
  * Time
  * Pure functions
  * Modifiers
  * Prototyping versus planning
  * Debugging
  * Glossary
  * Exercises
 1. 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
 1. Inheritance
  * Card objects
  * Class attributes
  * Comparing cards
  * Decks
  * Printing the deck
  * Add, remove, shuffle and sort
  * Inheritance
  * Class diagrams
  * Debugging
  * Data encapsulation
  * Glossary
  * Exercises
 1. The Goodies
  * Conditional expressions
  * List comprehensions
  * Generator expressions
  * any and all
  * Sets
  * Counters
  * defaultdict
  * Named tuples
  * Gathering keyword args
  * Glossary
  * Exercises
 1. Debugging
  * Syntax errors
  * Runtime errors
  * Semantic errors
Think Python: How to Think Like a Computer Scientist

Allen B. Downey

2nd Edition, Version 2.2.23

 * [[http://greenteapress.com/thinkpython2/html/thinkpython2001.html|Preface]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2001.html#sec2|The strange history of this book]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2001.html#sec3|Acknowledgments]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2001.html#sec4|Contributor List]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2002.html|The way of the program]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2002.html#sec6|What is a program?]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2002.html#sec7|Running Python]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2002.html#sec8|The first program]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2002.html#sec9|Arithmetic operators]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2002.html#sec10|Values and types]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2002.html#sec11|Formal and natural languages]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2002.html#sec12|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2002.html#sec13|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2002.html#sec14|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2003.html|Variables, expressions and statements]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2003.html#sec16|Assignment statements]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2003.html#sec17|Variable names]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2003.html#sec18|Expressions and statements]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2003.html#sec19|Script mode]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2003.html#sec20|Order of operations]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2003.html#sec21|String operations]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2003.html#sec22|Comments]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2003.html#sec23|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2003.html#sec24|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2003.html#sec25|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html|Functions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec27|Function calls]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec28|Math functions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec29|Composition]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec30|Adding new functions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec31|Definitions and uses]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec32|Flow of execution]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec33|Parameters and arguments]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec34|Variables and parameters are local]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec35|Stack diagrams]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec36|Fruitful functions and void functions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec37|Why functions?]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec38|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec39|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2004.html#sec40|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html|Case study: interface design]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec42|The turtle module]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec43|Simple repetition]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec44|Exercises]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec45|Encapsulation]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec46|Generalization]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec47|Interface design]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec48|Refactoring]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec49|A development plan]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec50|docstring]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec51|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec52|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2005.html#sec53|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html|Conditionals and recursion]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec55|Floor division and modulus]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec56|Boolean expressions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec57|Logical operators]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec58|Conditional execution]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec59|Alternative execution]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec60|Chained conditionals]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec61|Nested conditionals]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec62|Recursion]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec63|Stack diagrams for recursive functions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec64|Infinite recursion]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec65|Keyboard input]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec66|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec67|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2006.html#sec68|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html|Fruitful functions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html#sec70|Return values]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html#sec71|Incremental development]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html#sec72|Composition]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html#sec73|Boolean functions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html#sec74|More recursion]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html#sec75|Leap of faith]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html#sec76|One more example]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html#sec77|Checking types]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html#sec78|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html#sec79|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2007.html#sec80|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2008.html|Iteration]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2008.html#sec82|Reassignment]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2008.html#sec83|Updating variables]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2008.html#sec84|The while statement]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2008.html#sec85|break]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2008.html#sec86|Square roots]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2008.html#sec87|Algorithms]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2008.html#sec88|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2008.html#sec89|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2008.html#sec90|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html|Strings]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec92|A string is a sequence]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec93|len]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec94|Traversal with a for loop]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec95|String slices]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec96|Strings are immutable]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec97|Searching]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec98|Looping and counting]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec99|String methods]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec100|The in operator]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec101|String comparison]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec102|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec103|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2009.html#sec104|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2010.html|Case study: word play]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2010.html#sec106|Reading word lists]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2010.html#sec107|Exercises]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2010.html#sec108|Search]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2010.html#sec109|Looping with indices]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2010.html#sec110|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2010.html#sec111|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2010.html#sec112|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html|Lists]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec114|A list is a sequence]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec115|Lists are mutable]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec116|Traversing a list]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec117|List operations]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec118|List slices]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec119|List methods]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec120|Map, filter and reduce]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec121|Deleting elements]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec122|Lists and strings]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec123|Objects and values]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec124|Aliasing]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec125|List arguments]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec126|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec127|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2011.html#sec128|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2012.html|Dictionaries]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2012.html#sec130|A dictionary is a mapping]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2012.html#sec131|Dictionary as a collection of counters]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2012.html#sec132|Looping and dictionaries]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2012.html#sec133|Reverse lookup]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2012.html#sec134|Dictionaries and lists]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2012.html#sec135|Memos]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2012.html#sec136|Global variables]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2012.html#sec137|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2012.html#sec138|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2012.html#sec139|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2013.html|Tuples]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2013.html#sec141|Tuples are immutable]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2013.html#sec142|Tuple assignment]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2013.html#sec143|Tuples as return values]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2013.html#sec144|Variable-length argument tuples]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2013.html#sec145|Lists and tuples]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2013.html#sec146|Dictionaries and tuples]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2013.html#sec147|Sequences of sequences]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2013.html#sec148|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2013.html#sec149|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2013.html#sec150|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html|Case study: data structure selection]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec152|Word frequency analysis]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec153|Random numbers]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec154|Word histogram]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec155|Most common words]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec156|Optional parameters]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec157|Dictionary subtraction]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec158|Random words]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec159|Markov analysis]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec160|Data structures]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec161|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec162|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2014.html#sec163|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html|Files]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec165|Persistence]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec166|Reading and writing]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec167|Format operator]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec168|Filenames and paths]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec169|Catching exceptions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec170|Databases]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec171|Pickling]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec172|Pipes]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec173|Writing modules]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec174|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec175|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2015.html#sec176|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2016.html|Classes and objects]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2016.html#sec178|Programmer-defined types]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2016.html#sec179|Attributes]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2016.html#sec180|Rectangles]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2016.html#sec181|Instances as return values]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2016.html#sec182|Objects are mutable]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2016.html#sec183|Copying]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2016.html#sec184|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2016.html#sec185|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2016.html#sec186|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2017.html|Classes and functions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2017.html#sec188|Time]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2017.html#sec189|Pure functions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2017.html#sec190|Modifiers]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2017.html#sec191|Prototyping versus planning]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2017.html#sec192|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2017.html#sec193|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2017.html#sec194|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html|Classes and methods]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec196|Object-oriented features]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec197|Printing objects]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec198|Another example]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec199|A more complicated example]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec200|The init method]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec201|The __str__ method]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec202|Operator overloading]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec203|Type-based dispatch]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec204|Polymorphism]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec205|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec206|Interface and implementation]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec207|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2018.html#sec208|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html|Inheritance]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec210|Card objects]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec211|Class attributes]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec212|Comparing cards]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec213|Decks]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec214|Printing the deck]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec215|Add, remove, shuffle and sort]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec216|Inheritance]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec217|Class diagrams]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec218|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec219|Data encapsulation]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec220|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2019.html#sec221|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html|The Goodies]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html#sec223|Conditional expressions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html#sec224|List comprehensions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html#sec225|Generator expressions]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html#sec226|any and all]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html#sec227|Sets]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html#sec228|Counters]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html#sec229|defaultdict]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html#sec230|Named tuples]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html#sec231|Gathering keyword args]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html#sec232|Glossary]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2020.html#sec233|Exercises]]
 * [[http://greenteapress.com/thinkpython2/html/thinkpython2021.html|Debugging]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2021.html#sec235|Syntax errors]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2021.html#sec237|Runtime errors]]
  * [[http://greenteapress.com/thinkpython2/html/thinkpython2021.html#sec245|Semantic errors]]

Введение в ЯП Python3

Проект курса на основе второго, адаптированного к Python 3 издания учебника Think Python: How to Think Like a Computer Scientist


Задача: упихать в 15 лекций масимум

Think Python: How to Think Like a Computer Scientist

Allen B. Downey

2nd Edition, Version 2.2.23

LecturesCMC/PythonIntro2018 (last edited 2019-01-15 09:47:35 by FrBrGeorge)