Difference between revisions of "PhD Python Course"

From ISLAB/CAISR
Line 3: Line 3:
 
== Introduction ==
 
== Introduction ==
  
Books:
+
Books (those are quite a bit dated, I am sure there are newer ones out there, but I don't know them):
* http://www.diveintopython.net/ - really good, but a little bit dated
+
* http://www.diveintopython.net/ - quite good
 
* http://learnpythonthehardway.org/book/ - seems good, even if a little basic (but I have not read it)
 
* http://learnpythonthehardway.org/book/ - seems good, even if a little basic (but I have not read it)
  
Line 29: Line 29:
 
* matplotlib
 
* matplotlib
  
== 2013.01.23 ==
+
== 2015.12.04 ==
  
 
Things I have talked about today (non-obvious and important stuff in '''bold'''):
 
Things I have talked about today (non-obvious and important stuff in '''bold'''):
Line 79: Line 79:
 
* http://www.pythonchallenge.com/
 
* http://www.pythonchallenge.com/
  
== Library Presentations ==
+
== Library Presentations from two years ago ==
 
* NumPy and SciPy (presented by Wagner) [[File:Python_course_(scipy_and_numpy)_(Wagner).zip]]
 
* NumPy and SciPy (presented by Wagner) [[File:Python_course_(scipy_and_numpy)_(Wagner).zip]]
 
* Scikit (presented by Jens) [[File:Presentation_v3_final.pdf]]
 
* Scikit (presented by Jens) [[File:Presentation_v3_final.pdf]]

Revision as of 18:29, 3 December 2015

A separate page for discussions

Introduction

Books (those are quite a bit dated, I am sure there are newer ones out there, but I don't know them):

IDE:

Official:

Things to start with

Essential libraries:

  • numpy / scipy
  • matplotlib

2015.12.04

Things I have talked about today (non-obvious and important stuff in bold):

  • Hello, world!
  • list / dictionary / string / number / tuple / set
  • functions
    • default arguments, keyword arguments, variable argument lists
    • anonymous functions / lambda
  • exceptions
  • if / for / while / else / break / continue
    • else also works for loops
  • variables & assignment
    • pass-by-reference semantics
    • difference between = and ==
  • generators / iterators
  • list comprehension / generator comprehension / dictionary comprehension
  • string formatting
  • modules / import / import as / import from
  • classes
    • special methods: __init__ / __str__ / __eq__ / __call__ / ...
    • descriptors
  • advanced ideas
    • decorators
    • metaclasses

Things I did not have time to talk about but I wanted to... modules in standard library you should definitely know about:

  • sqlite3
  • collections (especially defaultdict)
  • re
  • datetime
  • threading / multiprocessing / Queue
  • random
  • itertools / functools
  • os / sys / shutil / os.path
  • pickle
  • md5
  • subprocess
  • socket
  • urllib / httplib / email / cgi / urlparse / cookielib
  • pdb (especially pm)
  • win32api / win32gui

Additional

Advanced stuff:

Fun:

Library Presentations from two years ago