Difference between revisions of "Python Resources"

From Simson Garfinkel
Jump to navigationJump to search
m
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
==For Learning Python==
==For Learning Python==
I've seen these and highly recommend them:
I've reviewed these resources and highly recommend them:
* Start with the [https://docs.python.org/3/ Official Python Documentation], including the tutorial
* Start with the [https://docs.python.org/3/ Official Python Documentation], including the tutorial
* [http://video.google.com/videoplay?docid=7760178035196894549 Advanced Python or Understanding Python], Thomas Wouters, Google Tech Talks, February 21, 2007
* [http://video.google.com/videoplay?docid=7760178035196894549 Advanced Python or Understanding Python], Thomas Wouters, Google Tech Talks, February 21, 2007
* [http://diveintopython3.org/ Dive Into Python 3] (book)
* [http://www.diveintopython3.net/ Dive Into Python 3] (book, online for free)
 
* [http://book.pythontips.com/en/latest/index.html Python Tips] (book, online for free)
 
* [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]
* https://www.learnpython.org, powered by DataCamp. For example, look at the [https://www.learnpython.org/en/String_Formatting String Formatting] lesson
* [https://github.com/google/styleguide/blob/gh-pages/pyguide.md Python Google Style Guide].


==Data Representation==
==Data Representation==
Line 16: Line 18:
* [http://labix.org/python-dateutil dateutil]  
* [http://labix.org/python-dateutil dateutil]  
* [http://codespeak.net/icalendar/ iCalendar] package for Python
* [http://codespeak.net/icalendar/ iCalendar] package for Python
===String Formatting===
* https://pyformat.info
== Text Processing ==
See [[Text processing notes]].


==Graphing, Graphics and Games==
==Graphing, Graphics and Games==
===Graphing===
===Graphing===
* [http://matplotlib.org/ matplotlib] - a handy system for plotting in python. ([[Short example of using matplotlib within jupyter]])
* [http://matplotlib.org/ matplotlib] - a handy system for plotting in python. ([[Short example of using matplotlib within jupyter]])
* geopy - geocoding
* [https://altair-viz.github.io/index.html Altair: Declarative Visualization in Python]
* [http://pyx.sourceforge.net/ PyX] - A Python PS and PDF graphing package
* [https://github.com/geopy/geopy geopy] - geocoding for Python
* Seaborn. (See [https://www.datacamp.com/community/tutorials/seaborn-python-tutorial Datacamp Tutorial])


===Easy Graphics===
===Easy Graphics===
Line 90: Line 99:


==Python Installation==
==Python Installation==
If you are using a Mac, you almost certainly want to ditch Apple's python implementation and instead install your own from:
If you are using a Mac, you almost certainly want to ditch Apple's python implementation and instead install your own.
* http://www.python.org/download/releases/
 
I now recommend the [https://www.anaconda.com/ Anaconda Python distribution], because it has almost everything that you need, and it's easy to add new modules.


If you want everybody to be able to use your GUI, you probably want to write it in Tkinter (Python's Tcl/Tk bindings). If you want to actually enjoy what you are writing, you want to use wxpython.
If you want to write a Python program with a GUI that can be run on any system, you'll need to use  Tkinter (Python's Tcl/Tk bindings). If you want to actually enjoy what you are writing, you want to use PyQT5..


On the Mac, you can install matplotlib with this command using MacPorts::
  % sudo port install py-matplotlib py-ipython
[[Category:Resources]]
[[Category:Resources]]

Revision as of 18:30, 1 September 2018

For Learning Python

I've reviewed these resources and highly recommend them:

Data Representation

Numerical Datas

  • numpy - numeric analysis in python (needed for matplotlib)
  • tabulate - create tables easily
  • jupyter notebook

Date Data

String Formatting

Text Processing

See Text processing notes.

Graphing, Graphics and Games

Graphing

Easy Graphics

Games

Image Manipulation

  • Use Pillow, the Python2/3 fork of Python Image Library (PIL).

Fun examples:

Python GUI Options

I need to write some programs that use GUI.

  • tkinter - built in, but not recommended
  • pyqt - Use PyQT5 (it's part of Anaconda)
  • wxwidgets - It's okay, but use PyQT5
  • wikibooks has a page on Python Program/GUI Programming options
  • FLTK, the Fast Light Toolkit

Resources for Tkinter

Building Web Applications

You basically have two options:

Examples and resources:

WSGI options

  • Flask (can run on Apache with Passenger, but needs its own domain name)
  • CherryPy

Notes on Flask

   $ touch tmp/restart.txt         # reload your program

Using Passengers on Dreamhost

Python Installation

If you are using a Mac, you almost certainly want to ditch Apple's python implementation and instead install your own.

I now recommend the Anaconda Python distribution, because it has almost everything that you need, and it's easy to add new modules.

If you want to write a Python program with a GUI that can be run on any system, you'll need to use Tkinter (Python's Tcl/Tk bindings). If you want to actually enjoy what you are writing, you want to use PyQT5..