what should every python expert know

Steven D'Aprano steve at pearwood.info
Mon Jun 22 14:59:54 EDT 2015


On Tue, 23 Jun 2015 04:30 am, baha wrote:

> I don't like to move to another programming language until being guru ..
> (python is my first programming language) what are things that I must know
> and discover and understand more deeply what are the projects that can be
> useful for a beginner like me and the advanced tricks

What should every Python expert know? That depends what they want to do.

Your question is a bit like "what should every artist know" -- some artists
specialise, others generalise. Same goes for engineers, doctors, scientists
(actually, these days, pretty much all scientists specialise).


What could you learn?

- web frameworks like Django, CherryPy and others, HTML, Javascript;
- databases and SQL;
- floating point maths and numeric algorithms, including numpy, scipy, 
  sage and others;
- writing extensions in C, Fortran, Java, or other languages;
- or using numba, cython, hope or others;
- integration with other tools using Applescript, Swift, bash scripting 
  or Windows Powershell;
- Unicode and legacy encodings;
- natural language processing with nltk;
- text processing with regular expressions;
- text parsers;
- source control using hg, git or others;
- graphics using PIL or pillow;
- GUI applications with tkinter, PyQt or others;
- decorators, metaclasses, comprehensions, closures;
- mixins, traits, multiple inheritance;
- doc tests, unit tests, regression tests, smoke tests, integration tests,
  fuzz tests, and others;
- writing documentation;
- project planning;
- and many other things.


It is difficult for us to teach you "the advanced tricks" when we don't know
what you already know and what you don't know. For example, maybe you will
consider this an advanced trick:


py> a = 1
py> b = 2
py> print a, b
1 2
py> a, b = b, a
py> print a, b
2 1


and maybe you won't.



-- 
Steven




More information about the Python-list mailing list