‘I have an intermediate to advanced knowledge of Python. I have used the language for 8 years, Used Django to implement a charity website, and submitted fault fixes to the Python standard library. I also work in the community to educate others about language use.
In terms of classifying your knowledge of Python - I would suggest the following broad classifications for a general developer - someone needing Python for data science might have different priorities:
Basic Python knowledge :
Using os, os.path, sys, pathlib standard libraries
Defining functions
Understanding list, set, dictionary, tuples as well as numeric types
writing multiple module programs (i.e. more than one source code file
Writing basic unit tests
Writing basic documentation (readme files and similar).
Correctly opening files (using with)
Simple list, set and dictionary comprehensions
Simple input and output
Intermediate knowledge
Writing simple command line applications (argparse)
Knowledge of further standard library modules - for instance re, hashlib, itertools, functools
Writing generator functions (yield) and generator expressions and understanding why you would bother
Writing simple decorators
Understanding the issues of using globals (DON’T)
writing simple classes with properties
Use of classmethods & staticmethods
Building packages and modules
The use of __repr__ and __str__ methods
formatting text input with .format method and/or interpolation strings
Simple functional programming (map, filter, functools.reduce)
Writing a class as an iterator
Writing data classes
Implementing mutable and immutable types
Basic use of threading and sub-processing
Publishing basic libraries to pypi (using setuptools, twine etc).
Use of virtualenv/pipenv/pyenv
Advanced knowledge
Extending objects with magic methods to implement numerics, booleans, containers, mappings
writing decorators as classes
writing descriptors classes
writing and using metaclasses
Writing context managers
using async and co-routines
Type hinting
Knowledge of one or more frameworks (numpy, scipy, sympy, flask, twisted, Django etc).
Experience
No experience mentioned.
Fee details
₹1,200–2,000/hour
(US$14.15–23.58/hour)
Depends on course level