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

Проект курса на основе учебника Think Python: How to Think Like a Computer Scientist


  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
  2. Variables, expressions and statements
    • Assignment statements
    • Variable names
    • Expressions and statements
    • Script mode
    • Order of operations
    • String operations
    • Comments
    • Debugging
    • Glossary
    • Exercises
  3. 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. 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
  2. Fruitful functions
    • Return values
    • Incremental development
    • Composition
    • Boolean functions
    • More recursion
    • Leap of faith
    • One more example
    • Checking types
    • Debugging
    • Glossary
    • Exercises
  3. Iteration
    • Reassignment
    • Updating variables
    • The while statement
    • break
    • Square roots
    • Algorithms
    • Debugging
    • Glossary
    • Exercises
  4. 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. 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
  2. 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
  3. 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. Files
    • Persistence
    • Reading and writing
    • Format operator
    • Filenames and paths
    • Catching exceptions
    • Databases
    • Pickling
    • Pipes
    • Writing modules
    • Debugging
    • Glossary
    • Exercises
  2. Classes and objects
    • Programmer-defined types
    • Attributes
    • Rectangles
    • Instances as return values
    • Objects are mutable
    • Copying
    • Debugging
    • Glossary
    • Exercises
  3. Classes and functions
    • Time
    • Pure functions
    • Modifiers
    • Prototyping versus planning
    • Debugging
    • Glossary
    • Exercises
  4. 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
  5. Inheritance
    • Card objects
    • Class attributes
    • Comparing cards
    • Decks
    • Printing the deck
    • Add, remove, shuffle and sort
    • Inheritance
    • Class diagrams
    • Debugging
    • Data encapsulation
    • Glossary
    • Exercises
  6. The Goodies
    • Conditional expressions
    • List comprehensions
    • Generator expressions
    • any and all
    • Sets
    • Counters
    • defaultdict
    • Named tuples
    • Gathering keyword args
    • Glossary
    • Exercises
  7. Debugging
    • Syntax errors
    • Runtime errors
    • Semantic errors