Python for Beginners: How to Get Started
Tags: python, programming
Published: 2021-05-04 16:24:58

Python is an easy-to-learn, powerful programming language that can be used in many different ways to create both small and large programs.

Its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java. 

## How do I start?  :rocket:

The [Python](https://python.org) website is a community resource for you to learn Python. Whether you learn it by reading tutorials, taking online classes, or having a friend teach you, we hope you can find what you need to become successful.

Personally I like learning by doing. You can find over [200 Python Exercises](https://gumroad.com/l/hGlzl) here and another good book [here](https://gumroad.com/l/xZPTk).

The Python interpreter executes Python source code, which may be written in scripts or programs as well as interactively within a Python shell.

```python
print("hello world")
```

Python source code is interpreted; it has no compilation step.

```bash
$ python hello.py
hello world
```

Once you’ve learned the [basics of Python](https://pythonbasics.org/), you can use it for many different applications. 

### Web Development  :earth_americas:

Web development is one of the things Python is commonly used for. You can build simple blogs or complete web apps with just Python.

You can use it to do web development by creating dynamic websites with [frameworks](https://pythonbasics.org/python-web-frameworks/) such as [Django](https://pythonprogramminglanguage.com/django-hello-world/) and [Flask](https://python-commandments.org/flask-crud/). 

![flask dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x6gw3gce6whjsbk16otr.png)

There are also other web related frameworks like [Tornado](https://www.python-me.org/tornado) and it's very easy to deploy your [Python apps online](https://pythonprogramminglanguage.com/django-hello-world/).


### Desktop software :computer:

So you want to write an awesome GUI interface for your Python app? 

You can make desktop software with [PyQt](https://pythonpyqt.com/) or [tkinter](https://python-commandments.org/tkinter-basics/). Both are [GUI](https://pythonspot.com/gui/) modules.

Both are similarly easy to use, and there's plenty of resources out there to help you create a fantastic GUI. But which one should you choose?

![pyqt designer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m7if3qc9e5dtc18nry65.png)

If you want a modern looking GUI, I recommend going for PyQt. If you want a simple quick GUI for a tiny script you can opt for tkinter, as it only has a few widgets.

## What else can Python be used for?  :snake:

Python can be used for many things. Python is a general purpose programming language. This means it can be used for almost anything  :smiley_cat:.

Python can be used to create games, such as Minecraft or Angry Birds, [Snake](https://pythonspot.com/snake-with-pygame/) or anything else. Programmers world wide use Python in both commercial and non-commercial projects.

It can be used for statistical computing. It can be used for artificial intelligence. It can be used for machine learning. It can be used for games, art, education, and science. Python is truly a jack-of-all-trades language.