|
1 | 1 | Python for Robotics
|
2 | 2 | ----------------------
|
3 | 3 |
|
| 4 | +Python for general-purpose programming |
| 5 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 6 | + |
| 7 | +`Python <https://www.python.org/>`_ is an general-purpose programming language developed by |
| 8 | +`Guido van Rossum <https://en.wikipedia.org/wiki/Guido_van_Rossum>`_ in the late 1980s. |
| 9 | + |
| 10 | +It features as follows: |
| 11 | + |
| 12 | +#. High-level |
| 13 | +#. Interpreted |
| 14 | +#. Dynamic type system (also type annotation is supported) |
| 15 | +#. Emphasizes code readability |
| 16 | +#. Rapid prototyping |
| 17 | +#. Batteries included |
| 18 | +#. Interoperability for C and Fortran |
| 19 | + |
| 20 | +Due to these features, Python is the most popular programming language |
| 21 | +for educational purposes for programming beginners. |
| 22 | + |
| 23 | +Python for Scientific Computing |
| 24 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 25 | + |
| 26 | +Python itself was not designed for scientific computing. |
| 27 | +However, scientists quickly recognized its strengths. |
| 28 | +For example, |
| 29 | + |
| 30 | +#. High-level and interpreted features enable scientists to focus on their problems without dealing with low-level programming tasks like memory management. |
| 31 | +#. Code readability, rapid prototyping, and batteries included features enables scientists who are not professional programmers, to solve their problems easily. |
| 32 | +#. The interoperability to wrap C and Fortran libraries enables scientists to access already existed powerful scientific computing libraries. |
| 33 | + |
| 34 | +To address the more needs of scientific computing, many libraries have been developed. |
| 35 | + |
| 36 | +- `NumPy <https://numpy.org/>`_ is the fundamental package for scientific computing with Python. |
| 37 | +- `SciPy <https://www.scipy.org/>`_ is a library that builds on NumPy and provides a large number of functions that operate on NumPy arrays and are useful for different types of scientific and engineering applications. |
| 38 | +- `Matplotlib <https://matplotlib.org/>`_ is a plotting library for the Python programming language and its numerical mathematics extension NumPy. |
| 39 | +- `Pandas <https://pandas.pydata.org/>`_ is a fast, powerful, flexible, and easy-to-use open-source data analysis and data manipulation library built on top of NumPy. |
| 40 | +- `SymPy <https://www.sympy.org/>`_ is a Python library for symbolic mathematics. |
| 41 | + |
| 42 | +And more domain-specific libraries have been developed: |
| 43 | +- `Scikit-learn <https://scikit-learn.org/stable/>`_ is a free software machine learning library for the Python programming language. |
| 44 | +- `Scikit-image <https://scikit-image.org/>`_ is a collection of algorithms for image processing. |
| 45 | + |
| 46 | +Python for Robotics |
| 47 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 48 | + |
4 | 49 | TBD
|
| 50 | + |
0 commit comments