• Know what the most common python interpreters are.
  • Knows python syntax, indentation, and symbols.
  • Know the meaning and usage of all Python keywords.
  • Know most of the common types in Python (booleans, string types, number types, sequences, sets, dictionaries, generators…) .
  • Knows how to write Pythonic code (context manager, derived expressions, decorators, slices…) .
  • Know how to avoid some of the pitfalls in Python, such as variable default arguments and late binding of closures.
  • Know functional programming in Python and use of map and filter.
  • Know the time and space complexity of lists, tuples, dict, sets, etc.
  • Know GIL’s limitations and its relationship to multithreading.
  • Know Python’s namespace lookup rules (LEGB).
  • Know python’s multiple inheritance lookup rules (MRO).
  • Know the major differences between Python 2.x and 3.x.
  • Know what property means and its descriptor implementation.
  • Know the underlying implementation of dict in Python and its relationship to OrderDict.
  • know__slots__Meaning and usage scenarios.
  • Know how to define and use metaclasses and understand their usage scenarios.
  • Know the multi-process and multi-thread models in Python and the implementation of communication between multi-process and multi-thread.
  • Know the corresponding libraries and usage of process pools and thread pools in Python.
  • Know how to use synchronization primitives commonly used between multiple threads in Python.
  • Know most of the common python standard libraries and what they are used for.
  • Know the relationship between Type and object in Python.
  • Know how deep and shallow copies are implemented in Python.
  • Know python’s debugging tools (logging.pdb), I knowunittestanddoctestThe use of.
  • Know how to package in Pythonsetup.py).
  • Know PEP8 common paradigms and code formatting methods.
  • Know the relationship between STR, bytes, and string encodings and how they convert to each other.
  • Know several string concatenation methods and efficiency comparisons in Python.
  • Know what duck typing means and how it is represented in Python.
  • Know the difference between a function and a method and the relationship between a bound-method and an unbound method.
  • knowa = list()anda = []The difference between.
  • Know the common operations of dict and set, and the syntactic sugar of set operations between sets.
  • Know how asyncio is used and how it is used.
  • Know how to implement the most common design patterns in Python.
  • Know how to do Web programming in Python and what the WSGI protocol is.
  • Know how to usecollections.itertools.operatorTo efficiently manipulate container objects.
  • Know how to match, find, slice, and replace regular expressions in Python.
  • Know how to use itvirtualenvAnd know its purpose.
  • Know how to use itpip, and its relationship withrequirementsFile relationship.
  • Know the common libraries and interfaces for serialization in Python (json.pickle).
  • knowosandsysCommon methods of libraries, and how to manipulate files and directories.
  • Know pythondatetimeCommon operations for libraries.
  • Know how to read and write normal files/binary files, yesStringIOandBytesIOThe purpose of.
  • Know what it means for variables that start with a single underscore, start with a double underscore, and surround with a double underscore.
  • know__init__and__new__What are the roles of methods in class and type respectively?
  • Know the difference between class variables and instance variables.
  • know__dict__Meaning in a class, as well as class attributes and methods__dict__The relationship between.
  • Know the Mixin pattern and its use in Python.
  • Know the implementation of generators in Python and their usage scenarios.
  • Know how abstract classes are implemented in Python and their abstract base class modules. Know how to implement an abstract container type using Python classes.
  • knowdictandUserDictAnd whyUserDictThe existence of.
  • Knowing the common way,classmethodandstaticmethodThe difference between.
  • Know what to add in the decoratorfunctools.wrapsThe meaning and function of.
  • know__getattr__and__getattribute__And its sequential relationship.
  • Know how performance is measured in Python, for examplecProfile.tracemalloc.
  • Know how introspection is used in Python, yesinspectCommon usage of libraries.
  • Know module definitions in Python and the various postures for importing modules.
  • Know how weak references are used in Python, and know the collection algorithm and rules for GC in Python.
  • knowsys.settraceandsys.setprofileUsage and usage in Python.
  • knowglobal.localandnonlocalThe meanings of keywords in Python and their usage scenarios.
  • Know python= =withisThe difference between.
  • knowfor-else.try-elseThe meaning and use of.
  • know.pycThe meaning of the file, to understand the python code roughly the execution process.
  • Know Chinese encoding of Python code and how to handle garbled characters.
  • know_Meaning in the Python interpreter.
  • Know how strings are formatted in Python and its common formatting syntax.
  • Know common magic methods in Python and how they are used.
  • Know how files/packages for Python projects are organized (thanks in the comments section)



The above is only this weak slag’s personal view, the list is not complete, welcome to discuss.