/hello_python

Study python

Primary LanguageJupyter Notebook

Hello Python Workshops

collaborative study of python language.

Our Principles

  • Workshop style
  • Collaboration
  • Studying by doing
  • Let’s have fun!

Howto start

Actions:

Sessions

  • intro: projects, zen, code_style
  • install & setup (PyCharm)
  • run, debug, python console
  • types (numbers, strings, bool)
  • read/write stdin/stdout
  • variables
  • control flow (if, for, while)
  • projects: guess_game
  • complex types (tuple, array, dict, set)
  • iterables, with statement (need to repeat)
  • exceptions
  • projects/kalimbas
  • functions
  • lambda-functions
  • generators
  • projects/happy_tickets
  • projects/prime_numbers
  • projects/gallow_game
  • modules
  • __main__
  • files IO
    • BOM handling encoding 'utf-8-sig'
  • JSON data
  • project: exchange rate service
  • packages: pip, distutils, setuptools
  • venv, virtualenv, virtualenvwrapper
  • networking:
    • sockets
    • HTTP clients. requests, urllib, urllib2
    • asyncio (not yet)
  • project: GitHub languages popularity

Session 6 RESTful backend

  • Flask
    • routes
    • endpoints
    • dev mode server
  • project: todolist backend
  • decorators
    • project: cache function result with decorator

Session 7 Test Driven Development

  • Test Driven Development
  • PyTest
  • WebSockets

Project

  • write WebSockets based chat using TDD

Session 8 Object Oriented Programming

Session 9 Jupyter Notebooks

Session 10 AsyncIO

  • coroutines
  • eventloop
  • asyncio

Session 11 aiohttp

  • client
  • server

Session 12 Python Basics (continue)

  • variables scope
  • context managers

Session 13 data structures

  • tuple, list, range, string

Session 14 data structures (continue)

  • string (continue)
  • bytes, bytearray
  • memoryview
  • set, frozenset

Session 15 data structures (continue)

  • Structure types
    • dict
    • list
    • comprehensions

Session 16 collections

  • Container datatypes
    • Named Tuple
    • deque

Session 17 Code Style

  • clean code: codestyle
  • PEP-8
  • Pythonic vs Non-Pythonic

Session 18 Code Style (continue)

Session 19 collections (continue)

Session 20 logging, command line arguments, configuration

Session 21 Parallel execution - GIL

Session 22 Parallel execution - threading