Skip to content
/ pycourse Public
forked from pablito56/pycourse

Python course structured in 3 modules: basic, advanced and utilities

Notifications You must be signed in to change notification settings

imim/pycourse

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 

Repository files navigation

pycourse

Python course structured in 3 big bocks: basic, advanced and utilities

# Course content

BASIC BLOCK (6 - 8h)

  • 00: What is Python?
  • 01: Python history and versions
  • 02: Tools and environment
  • 03: Numbers
  • 04: Strings
  • 05: Collections
  • 06: Dictionaries
  • 07: Booleans
  • 08: Flow control
  • 09: Functions
  • 10: Iterators, comprehension and generators
  • 11: Functional programming and iterables tools
  • 12: Classes
  • 13: Modules and packages
  • 14: Duck typing
  • 15: Mutables vs. immutables
  • 16: Way of working

ADVANCED BLOCK (6 – 8h)

  • 01: Namespaces and scopes
  • 02: Globals and locals and global
  • 03: Decorators
  • 04: Advanced decorators
  • 05: Attributes look up
  • 06: Objects data model customisation
  • 07: Cooperative super call pattern: MRO and super
  • 08: Descriptors protocol
  • 09: Slots and properties
  • 10: Constructors and metaclasses
  • 11: Common Java developers errors (getters and setters, abuse of staticmethod and classmethod, single class per module, fear to multiple inheritance, importing...) ?

## UTILITIES BLOCK (6 - 8h)

  • Standatd library: most useful modules

    • ABC?
    • itertools
    • functools
    • contextlibs
    • datetime + tz, time
    • sys
    • os
    • json, ujson
    • inspect + _getframe
    • cmd
    • logging
    • Files access: os.path, copy2, shutil, mkdir
    • argparse, configparser
    • Commands execution: popen
    • Paralelism: thread, multiprocessing, GIL
    • traceback
  • Unit testing, mocking (dependency injection vs. mocking abuse)

  • Debugging and profiling: ipdb, timeit, profile & cprofile, plop

  • Packaging and distribution: setuptools and distutils

  • Rremote access: fabric and paramiko

  • 3rd parties:

    • virtualenv
    • Web development: Django, Django rest fwk, Tastypie
    • Asynch processing: gevent and Twisted
    • HTTP requests: requests
    • DB access: pymongo, redis, python-mysql, SQLAlchemy

    DONE:

    • Standatd library: useful functions: map, reduce, zip, globals, locals, all, filter…
      • collections

About

Python course structured in 3 modules: basic, advanced and utilities

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published