-
Notifications
You must be signed in to change notification settings - Fork 3
/
suggested_resources.txt
94 lines (76 loc) · 4.27 KB
/
suggested_resources.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
This is a collection of some of my favorite resources for learning more about
Python, NumPy/SciPy, and coding in general.
First and foremost, Python's documentation is excellent. A great resource
is the online docs at docs.pythong.org.
Actually the above is a lie. The docs are the best reference, but dry reading
that only rarely directly answers immediate questions. The real first and
foremost resource is stackoverflow. The highest voted Python questions
make for great reading. User Mysticial also has some great
answers for learning a bit more about how a modern computer works.
Doug Hellman has a great collection of example code, "Python Module
of the Week" at http://www.doughellmann.com/PyMOTW/. (He published an
associated book, The Python Standard Library by Example. It's mostly
the same material as on the website, except he gets $$$ for his work.)
Many regions have a yearly python conference. The largest is the US/Canada yearly
conference, but there are many conferences outside of North America as well as
conferences in different US states. The talks from many of the conferences in
are online at pyvideo.org. There are many talks, so it helps to have a starting
point of good videoes. Below are ones I've watched and really enjoyed. They're
listed by PyCon event.
PyCon 2009:
- "A Whirlwind Excursion through Writing a C Extension" by Ned Batchelder
(The video has issues, but the speaker also posted slides, codes, and notes
from the talk on his blog. I recommend looking at those as well.)
PyCon 2010:
- "Understading the Python GIL" by David Beazley
- "Python's Dusty Corners" by Jack Diederich
- "The Mighty Dictionary" by Brandon Rhodes
- "Optimizations and Micro-Optimizations in CPython" by Larry Hastings
PyCon 2011:
- "Useful Namespaces: Context Managers and Decorators" by Jack Diederich
- "What would you do with an AST?" by Matthew J Desmarias
- "Exhibition of Atrocity" by Mike Pirnat
- "Everything You Wanted To Know About Pickling, But Were Afraid To Ask!" by
Richard T. Sanders
- "The Python That Wasn't" by Larry Hastings
PyOhio 2012:
- "Deleting Code is Hard And You Should Do It" by Jack Diederich
PyCon 2012:
- Keynote on PyPy by David Beazley
- "Stop Writing Classes" by Jack Diederich
- "Stepping Through CPython" by Larry Hastings
- "Python, Linkers, and Virtual Memory" by Brandon Rhodes
PyCon 2013:
- "All-Singing All-Dancing Python Bytecode" by Larry Hastings
- "Python Profiling" by Amjith Ramanujam
- ""Good Enough" is good enough!" by Alex Martelli
- "Loop like a native: while, for, iterators, generators" by Ned Batchelder
- "Copyright and You" by Frank Siler
- "Python's Law" by Stephen McJohn
- "Learning Python Through Public Data Hacking" by David Beazley
- "The Naming of Ducks: Where Dynamic Types Meet Smart Conventions" by
Brandon Rhodes
PyCon 2014:
- "Pickles are for Delis, not Software" by Alex Gaynor
- "Turn Your Computer Into A Server" by Karen Rustad and Asheesh Laroia
- "All Your Ducks In A Row: Data Structures in the Standard Library And Beyond"
by Brandon Rhodes
PEP (Python Enhancement Proposal) 7 and 8 are excellent (probably mandatory)
reading. This should be followed up with "Code Like a Pythonista: Idiomatic
Python" by David Goodger. (Can easily by found with google.)
Another great resource is software-carpentry.org.
Pythonic Perambulations is a great python-centric blog written by a UW grad
student turned UW postdoc.
Dealing with large datasets is generally a difficult problem. An easy way to
make it simpler is to remember: (1) friends don't let friends save data in
massive text files, and (2) friends also don't let friends save their data in
weird, non-standardized binary formats. A potential solution is standardized
binary formats, and people smarter and more knowledgeable than me have
recommended HDF5 for that. The PyTables package is actively maintained by
a good community, and gives a python interface to HDF5. A good tutorial
on PyTables is "HDF5 is for Lovers" by Anthony Scopatz.
It's also good to be aware of virtualenv if you're playing around with/
re-compiling/re-installing base packages like numpy or scipy very much.
Or even python itself. Virtualenv lets to switch between versions of python,
so you can have a version of python that you use for development purposes
and a version for data analysis.