Difference between revisions of "Python"
From LPTMS Wiki
m (→Tips) |
(→Libraries and softwares) |
||
(16 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | == | + | == Documentation == |
* [http://www.python.org Official website] | * [http://www.python.org Official website] | ||
− | |||
* [http://www.euroscipy.org euroscipy] (scientific python community) | * [http://www.euroscipy.org euroscipy] (scientific python community) | ||
* [http://scipy-lectures.github.com Getting started with scipy] | * [http://scipy-lectures.github.com Getting started with scipy] | ||
− | * [http://www.unixgarden.com/index.php/programmation/python-comme-langage-scientifique Python comme langage scientifique] | + | * [http://www.unixgarden.com/index.php/programmation/python-comme-langage-scientifique Python comme langage scientifique] - Voir aussi Cython. |
* [http://www.unixgarden.com/index.php/programmation/python-et-le-c Python et le C] | * [http://www.unixgarden.com/index.php/programmation/python-et-le-c Python et le C] | ||
− | == Libraries == | + | == Libraries and softwares == |
* [http://ipython.org iPython] | * [http://ipython.org iPython] | ||
+ | * [http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html the iPython notebook] (interface similar to Mathematica) use HTML to handle worksheets. | ||
* [http://docs.python.org/library Standard Library] | * [http://docs.python.org/library Standard Library] | ||
* [http://scipy.org SciPy] - [http://numpy.scipy.org NumPy] | * [http://scipy.org SciPy] - [http://numpy.scipy.org NumPy] | ||
Line 18: | Line 18: | ||
* [http://www.pytables.org PyTables] | * [http://www.pytables.org PyTables] | ||
* [http://mdp-toolkit.sourceforge.net/ Modular toolkit for Data Processing] | * [http://mdp-toolkit.sourceforge.net/ Modular toolkit for Data Processing] | ||
+ | * [http://pypy.org/ PyPy], a just-in-time compiler/implementation of Python. | ||
+ | * [https://pandas.pydata.org/ Pandas, data science] | ||
== Miscellaneous == | == Miscellaneous == | ||
* [http://fperez.org/code/index.html Fernando Perez page on Python] | * [http://fperez.org/code/index.html Fernando Perez page on Python] | ||
− | * [[Interfacing C++ and Python]] | + | * [[Interfacing C++ and Python]]. |
+ | * [http://docs.scipy.org/doc/numpy/user/c-info.python-as-glue.html Interfacing Python and C++] (the other way around). See also Cython, below. | ||
+ | * [[Scientific Programming with Python (for the debug), and C(ython) for the speed]] | ||
* [[Fitting data with python]] | * [[Fitting data with python]] | ||
* [http://code.enthought.com/projects/mayavi/ 3D Scientific Data Visualization and Plotting] | * [http://code.enthought.com/projects/mayavi/ 3D Scientific Data Visualization and Plotting] | ||
+ | * [[Quick integration of a known function]] | ||
+ | * [[Reading a large data file (efficiently)]] | ||
== Tips == | == Tips == | ||
+ | |||
+ | * with '''pylab''', removes the white borders: | ||
+ | <source lang="py"> | ||
+ | savefig('figure.eps',format='eps',bbox_inches="tight") | ||
+ | </source> | ||
+ | |||
+ | * equivalent of the C ternary operator ?: (''test'' ? ''restrue'' : 'resfalse''), use a tuple is possible but not transparent | ||
+ | <source lang="py"> | ||
+ | (resfalse,restrue)[test] | ||
+ | </source> | ||
+ | prefer the inline condition testing way | ||
+ | <source lang="py"> | ||
+ | res = restrue if test or resfalse | ||
+ | # example | ||
+ | min = lambda x,y: x if x<y else y | ||
+ | min(1,2) | ||
+ | </source> | ||
* adding a path to a directory containing your module files | * adding a path to a directory containing your module files | ||
Line 39: | Line 62: | ||
str.isdigit() # returns True/False | str.isdigit() # returns True/False | ||
str.isalpha() # returns True/False | str.isalpha() # returns True/False | ||
+ | </source> | ||
+ | |||
+ | * Nested for loops in a single line: | ||
+ | <source lang="py"> | ||
+ | for n,m in [ (n,m) for n in range(10) for m in range(2) ]: | ||
+ | print n,m | ||
</source> | </source> |
Latest revision as of 16:16, 9 December 2020
Documentation
- Official website
- euroscipy (scientific python community)
- Getting started with scipy
- Python comme langage scientifique - Voir aussi Cython.
- Python et le C
Libraries and softwares
- iPython
- the iPython notebook (interface similar to Mathematica) use HTML to handle worksheets.
- Standard Library
- SciPy - NumPy
- Matplotlib
- SymPy
- Cython
- PyTables
- Modular toolkit for Data Processing
- PyPy, a just-in-time compiler/implementation of Python.
- Pandas, data science
Miscellaneous
- Fernando Perez page on Python
- Interfacing C++ and Python.
- Interfacing Python and C++ (the other way around). See also Cython, below.
- Scientific Programming with Python (for the debug), and C(ython) for the speed
- Fitting data with python
- 3D Scientific Data Visualization and Plotting
- Quick integration of a known function
- Reading a large data file (efficiently)
Tips
- with pylab, removes the white borders:
savefig('figure.eps',format='eps',bbox_inches="tight")
- equivalent of the C ternary operator ?: (test ? restrue : 'resfalse), use a tuple is possible but not transparent
(resfalse,restrue)[test]
prefer the inline condition testing way
res = restrue if test or resfalse # example min = lambda x,y: x if x<y else y min(1,2)
- adding a path to a directory containing your module files
import sys sys.path += [ "/home/username/bin/Python" ]
- test whether a string has only digits or letters
str = '1321' str.isdigit() # returns True/False str.isalpha() # returns True/False
- Nested for loops in a single line:
for n,m in [ (n,m) for n in range(10) for m in range(2) ]: print n,m