Hi Steven, On Friday, May 29, 2015 at 12:55:48 PM UTC-5, Steven D'Aprano wrote: > On Sat, 30 May 2015 02:01 am, Mike Driscoll wrote: > > > Hi, > > > > I've been asked on several occasions to write about intermediate or > > advanced topics in Python and I was wondering what the community considers > > to be "intermediate" or "advanced". I realize we're all growing in our > > abilities with the language, so this is going to be very subjective, but I > > am still curious what my fellow Python developers think about this topic. > > > I would consider these advanced topics: > > > Metaclasses. > Descriptors. > Futures. > Asynchronous processing, including multiprocessing and threads. > Writing C or Fortran extensions. > Function/code object internals. > Byte-code hacking. > Manipulating ASTs. > OS-specific features like the os.exec* functions, os.fork, daemons, etc. > Multiple inheritance, mixins, traits, etc. > Coroutines. > Dynamic programming. > Neural nets. > Distributed processing, including remote procedure calls. > Fuzz testing. > > > I would consider these intermediate topics: > > > Closures. > Using classes and functions as first-class values. > Second-order functions. > Decorators. > Functional idioms (map, filter, reduce). > Viewing byte-code using the dis module. > Unicode, code pages, codecs and encodings. > Regular expressions. > SQL and dealing with databases. > The complexities of floating point, including Decimal. > Writing your own context managers. > Generators and iterators. > Unit testing, doctests, etc. > Code generation and metaprogramming. > Writing your own classes. > State machines. > The structure of URLs (they're more than just "http://blahblah.com"). > Anything to do with HTTP (client or server). > Commandline argument processing (argparse, optparse, etc.) > > Some of the intermediate topics start at an intermediate level, but can go > on to include more advanced uses. > > > > -- > Steven
That's a really good list of topics. Thanks so much for sharing your ideas. Mike -- https://mail.python.org/mailman/listinfo/python-list