collaborative study of python language.
- Workshop style
- Collaboration
- Studying by doing
- Let’s have fun!
- read HOWTO start
- go to Sessions and start study
- take your time to review peer's projects
- refer to general learning resources
- view our study plan
- 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
- OOP, classes https://www.youtube.com/watch?v=ZDa-Z5JzLYM&list=PL-osiE80TeTsqhIuOqKhwlXsIBIdSeYtc
- inheritance
- class methods (not functions)
- getter/setters https://www.youtube.com/watch?v=jCzT9XFZ5bw
- name mangling
- duck typing
Session 9 Jupyter Notebooks
- jupyter notebook
- jupyterhub
- jupyterlab
- realtime co-editing
- https://proglib.io/p/jupyter/
- JupytherHub in Yandex
- https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-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