# Learning Python

In most of the courses, the Python programming language is used. While the introductory course will guide you through the process of learning, the other courses will assume some basic knowledge of Python.

If you never programmed in Python and you want to check out how easy or hard it may be, we can suggest some courses and projects to help you get a better picture.

#### What is needed in Python?

A general knowledge about how python works, variable, lists, array and similar, plus some libraries which are widely used:

* [numpy](https://numpy.org/): widely used open-source library to work with array, matrices, vectors and most of the mathematical operations. Mostly needed in the Deep Learning course to implement the basic neural network operations.
* [Tensorflow](https://www.tensorflow.org/): open-source higher level framework which allows to create and work neural network in a very easy and intuitive way. Needed in most courses.
* data pre-processing: a usually underestimated task in the machine learning field is data pre-processing, as for example reading different file types for working with time series or natural language processing (.csv, .txt, .json), or loading and working with images (numpy, [Pillow](https://python-pillow.org/), [openCV](https://docs.opencv.org/master/d6/d00/tutorial_py_root.html)).

### Tutorials

1\) Kaggle offers some tutorials to learn the foundamentals of python. \
[Here](https://www.kaggle.com/learn/python) you can find the list of lectures.&#x20;

2\) on Coursera you can find small *Guided Projects.* The explanation is limited, therefore they are suggested for people who already have some experience, to freshen up old skills.\
As an example, [here one on Logistic Regression with Python and Numpy](https://www.coursera.org/learn/deep-learning-fundamentals-logistic-regression/home/welcome) and here [a list of Guided Projects related to Python and numpy](https://www.coursera.org/programs/opencampus-sh-on-coursera-rrj5m/browse?query=python%20numpy\&index=prod_enterprise_products\&entityTypeDescription=Rhyme%20Projects).

3\) One of the best books for learning Python is freely available under:

<http://www.greenteapress.com/thinkpython/thinkpython.pdf>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://opencampus.gitbook.io/opencampus-machine-learning-program/additional-resourses/python.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
