Learn Python
There is plenty of material available on the web to help you learn Python by yourself. There are also several organizations that provide online courses. And perhaps your local school or University offers a course as well.
Start reading
Practice
Once you know the basics, it's good to practice your skills in order to improve them. Here are some sites where you can do that:
- Scipy lectures
- Datacamp offerse free and paid courses in Python for data science.
- Project Euler (mathematical puzzles)
- CheckIO (game)
- Python challenge (game with riddles)
- Code academy (nice exercises)
Transitioning from Matlab
If you are transitioning to Python from Matlab, you may find that some things work differently in Python.
- Python searches for modules to import in selected directories that can be set
in the
PYTHONPATH
, which you can set in the shell configuration dialog. Modules relative to the file being executed are only found if the file is executed as a script. - If a module is already imported, Python will not load it again (even if it has changed). You can use "execute as a script" to get a fresh interpreter.
- Arrays are provided by the numpy package. Read more on differences between Numpy and Matlab.
Packages
If you want to get started with a certain library, you can in most cases best have a look at the library's website and search for tutorials and documentation.
The Scipy Stack:
- numpy - using arrays in Python
- scipy - core scientific functionality
- matplotlib - 2D plotting library
- pandas - data structures and analysis
- sympy - symbolic math
- IPython - advanced interactive shell
Further scientific packages:
- pyopengl - talk to your GPU
- visvis - 3D plotting and visualization
- skimage - 2D and 3D image processing
- sklearn - machine learning
- imageio - read and write image data
- keras - deep learning
Further non-science-specific packages:
- requests - make htttp request
- PySide2 - bindings to the Qt widget toolkit
- Flexx - build (web) apps using just Python
Community
The Python community is known to be large and friendly. Python is used in a lot of areas, from web frameworks to scripting and GUI design. The scienfitic community is a fastly growing sub-community with many active members. Scipy.org is the best place to start for the scientific Python community. It is common to communicate with developers of a package via an issue on Github.