> For the complete documentation index, see [llms.txt](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/python-programming/python-programming/python-basics/what-is-python.md).

# What is Python?

{% embed url="<https://www.youtube.com/watch?v=QoIRX37VZpo>" %}
What is Python? | Python Explained in 2 Minutes For BEGINNERS. - Zero To Mastery
{% endembed %}

### What is Python, and Python 3?

[Python](https://www.python.org/) is a general programming language. It can be used to write many different programs. If you’d like to create web-based applications, manipulate databases, analytics, or study computer science, all can be done with Python. Python is considered a [high-level](https://en.wikipedia.org/wiki/High-level_programming_language) language. Rather than using a language that the machine has an easier time understanding (for example: Machine Code, and Assembly), Python uses a set of English-language keywords that help us (humans) code in such system. This does mean that a Python program must be translated to machine level (low-level) code to be executed by a computer.

Python is an [interpreted language](https://en.wikipedia.org/wiki/Interpreted_language). This is where it differs from a non-interpreted language like [Java](https://www.java.com/). Python translate its lines of code one at a time to a language that our computer machine can understand. Once such translated line is executed at the machine level, a Python program will move on to the next line of code/instruction. An opposite example would be a [compiled language](https://en.wikipedia.org/wiki/Compiled_language) like Java. A compiled language will translate the entire program into a machine code file then execute the program.&#x20;

{% hint style="info" %}
this is a very generalized explanation of two types of languages.
{% endhint %}

Python 3 is the current and latest build of the Python language. Python 3 will go through its own evolution hence there are multiple levels/versions of Python 3 as well. To get a better sense of this, Python used to have a very popular version/iteration called “Python 2.7”. Currently, there are no major changes that we must worry about between different iterations of Python 3; however, it is truly recommended that for this course, and onwards, that you use Python 3.

### Where to learn Python more:

* [MIT OpenCourseWare Python 101](https://www.youtube.com/playlist?list=PLUl4u3cNGP63WbdFxL8giv4yhgdMGaZNA) (YouTube Playlist)
* [Harvard CS50P w/ Python](https://www.youtube.com/watch?v=JP7ITIXGpHk) (YouTube Video - LONG)
* [Complete Learning Python Reference](https://www.reddit.com/r/learnpython/wiki/index#wiki_docs) (Reddit - Wiki)
