Python - Snake or Programming?
Tags: python, machinelearning, deeplearning, beginners
Published: 2022-03-29 14:55:54

## Table of Contents
1. [Getting Started](#getting-started)
2. [Machine Learning / Deep Learning](#machine-learning-and-deep-learning-with-python)
3. [Best Textbooks For Python](#best-textbooks-for-python)
4. [Free Courses for Python](#free-courses-for-python)
5. [Best Machine Learning with Python Books](#books-for-machine-learning)
6. [Free Courses for Machine Learning](#free-courses-for-machine-learning)

[Python](https://www.python.org/doc/essays/blurb/) is an object-oriented, high-level programming language. It has become one of the most popular programming languages in the world in the recent years. It's used in everything from machine learning to building websites and software testing.

Python is popular because of it's simple syntax, modules and libraries, and large and active community. It is very versatile and is beginner friendly as well as open source. Career paths include: developer, data analyst, data scientist, ethical hacker, software engineer, cloud architect, etc.

### Getting Started
First, you need to [download the latest release](https://www.python.org/downloads/) of Python.

#### Option 1:
##### Running Python in Immediate mode
Typing `python` in the command line will invoke the interpreter in immediate mode, where we can directly type Python code. To exit, type `quit()` and press `enter`.
```
>>> 1 + 1
2
>>> quit()
```

#### Option 2:
##### Running Python in an Integrated Development Environment (IDE)
To run a Python script file, we need to save the file with the `.py` extension. To run the program in the file, you can type `python [filename].py` or `python3 [filename].py` in the command line, depending on your system.
```
python3 hello_world.py
```
Congrats! You wrote your first program in Python! Here's some helpful links to dive deeper into Python's syntax:
- [w3schools](https://www.w3schools.com/python/python_getstarted.asp)
- [codeacademy](https://www.codecademy.com/catalog/language/python)
- [freeCodeCamp](https://www.freecodecamp.org/news/learn-python-free-python-courses-for-beginners/)
- [coursera](https://www.coursera.org/projects/python)

Some popular IDEs for Python are:
- [Visual Studio Code](https://code.visualstudio.com/)
- [Pycharm](https://www.jetbrains.com/pycharm/)
- [Sublime](http://www.sublimetext.com/) and [Vim](https://www.vim.org/)
- [Atom](https://atom.io/)
- [Eclipse](https://www.eclipse.org/)

![start deep learning](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5nq6y1qnvslnk25scqxc.png) 

### Machine Learning and Deep Learning with Python
If you are interested in getting started with deep learning with Python, there are some pre-requisites you may be interested in knowing:
- Basic math ([calculus](https://ocw.mit.edu/courses/mathematics/), [probability](https://pll.harvard.edu/course/introduction-probability-edx?delta=2) and [linear algebra](https://www.classcentral.com/subject/linear-algebra))
- Basic python
- Basic [statistic](https://inomics.com/advice/top-free-online-courses-in-statistics-and-data-analysis-402678)
- Basic [machine learning](https://ai.google/education/)

### Best Textbooks for Python
- [Python Crash Course](https://www.amazon.com/Python-Crash-Course-Hands-Project-Based/dp/1593276036)
- [Automate The Boring Stuff with Python](https://automatetheboringstuff.com/)
- [Learning Python](https://www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730)
- [Head-First Python](https://www.amazon.com/Head-First-Python-Brain-Friendly-Guide/dp/1449382673)
- [Elements of Programming Interviews in Python](https://www.amazon.com/Elements-Programming-Interviews-Python-Insiders/dp/1537713949#:~:text=The%20book%20begins%20with%20a%20summary%20of%20patterns%20for%20data,design%2C%20probability%20and%20discrete%20mathematics.)
- [Python Cookbook](https://www.amazon.com/Python-Cookbook-Recipes-Mastering-ebook/dp/B00DQV4GGY)

### Free Courses for Python
- [Introduction to Computer Science and Programming Using Python](https://www.edx.org/course/introduction-to-computer-science-and-programming-7)
- [Introduction to Python Programming](https://www.udemy.com/course/pythonforbeginnersintro/?LSNPUBID=JVFxdTr9V80&ranEAID=JVFxdTr9V80&ranMID=39197&ranSiteID=JVFxdTr9V80-EyZGSP8KMHVH7Ed9npGkvA&utm_medium=udemyads&utm_source=aff-campaign)
- [Learn Python 3 from Scratch](https://www.educative.io/courses/learn-python-3-from-scratch?affiliate_id=5073518643380224)
- [Python for Beginners](https://www.udemy.com/course/python-hackcc/?LSNPUBID=JVFxdTr9V80&ranEAID=JVFxdTr9V80&ranMID=39197&ranSiteID=JVFxdTr9V80-ZnuUuIRzTfODIcjx8jaC7w&utm_medium=udemyads&utm_source=aff-campaign)
- [Getting Started with Python](https://www.coursera.org/projects/python)
- [Python for Absolute Beginners](https://www.udemy.com/course/free-python/?LSNPUBID=JVFxdTr9V80&ranEAID=JVFxdTr9V80&ranMID=39197&ranSiteID=JVFxdTr9V80-ZZ7mcs.zRv1TKoPB_V2Xyw&utm_medium=udemyads&utm_source=aff-campaign)
- [Python Data Structures](https://www.coursera.org/learn/python-data?specialization=python)
- [Computing in Python III: Data Structures](https://www.edx.org/course/computing-in-python-iii-data-structures)

### Books for Machine Learning
- [Introduction to Machine Learning with Python](https://www.amazon.com/Introduction-Machine-Learning-Python-Scientists/dp/1449369413)
- [Deep Learning with Python](https://www.amazon.com/dp/1617294438?tag=hackr-20&geniuslink=true)
- [Hands-On Deep Learning Algorithms with Python](https://www.amazon.com/dp/1789344158?tag=hackr-20&geniuslink=true)
- [Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow](https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1492032646?tag=hackr-20&geniuslink=true)
- [Deep Learning for the Life Sciences](https://www.amazon.com/Deep-Learning-Life-Sciences-Microscopy/dp/1492039837/ref=sr_1_fkmr0_2?crid=1NAE69V2F536P&keywords=Deep+Learning+From+Scratch%3A+Building+with+Python+from+First+Principles+by+Seth+Weidman+published+by+O%60Reilley&qid=1648480692&sprefix=%2Caps%2C191&sr=8-2-fkmr0)
- [Deep Learning for Coders with Fastai and PyTorch](https://www.amazon.com/Deep-Learning-Coders-fastai-PyTorch/dp/1492045527/ref=sr_1_fkmr0_1?crid=1XD0FD5B5Y79K&keywords=Deep+Learning+for+coders+with+fastai+and+PyTorch+by+Jeremy+Howard+%26+Sylvain+Gugger+published+by+O%60Reilley&qid=1648480728&sprefix=deep+learning+for+coders+with+fastai+and+pytorch+by+jeremy+howard+%26+sylvain+gugger+published+by+o+reilley%2Caps%2C548&sr=8-1-fkmr0)

### Free Courses for Machine Learning
- [Machine Learning with Python](https://www.mygreatlearning.com/academy/learn-for-free/courses/machine-learning-with-python)
- [Machine Learning with Python: A Practical Introduction](https://www.edx.org/course/machine-learning-with-python-a-practical-introduct)
- [Machine Learning in Python (Springboard)](https://www.springboard.com/resources/learning-paths/machine-learning-python/)
- [Machine Learning With Python Full Course In 9 Hours | Machine Learning Tutorial | Simplilearn](https://www.youtube.com/watch?v=eq7KF7JTinU)
- [Python Machine Learning Tutorial (Data Science)](https://www.youtube.com/watch?v=7eh4d6sabA0)