Python 101:An Executive summary
Tags: webdev, python, codenewbie, 100daysofcode
Published: 2022-02-14 10:05:11


This article is for the complete beginners of the python programming language. By the end of the tutorial you should be able to understand among other things :

- 
A brief history of the python language and its place in the modern programming language ecosystem.

- 
Features of the language and common use cases.

- 
An effective way of learning the language and free resources to get started.

- 
Next steps.

## Let's get started.
Python is a high-level, general-purpose programming language initially designed by Guido van Rossum in 1991, named after “Monty Python's Flying Circus”, a BBC comedy series from the 1970s. The language comes with a wide range of syntactical constructions, standard library functions, and interactive development environment features.
According to the 2021 StackOverflow developer survey, python passed SQL to become the third most popular technology. Python is used by Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify, and several other massive companies. It's one of the four main languages at Google, while Google's YouTube is largely written in Python. Same with Reddit, Pinterest, and Instagram. It offers fantastic career opportunities for any programmer who masters it.

## Features of Python
Python is a dynamic, high level free open source and interpreted language. It supports both procedural and object-oriented paradigms. Some of the features that make Python the most popular language are listed below:

- 
Easy to code - It’s usually much easier to read Python code and much faster to write code in Python than in other languages. E.g compare a C program to just print "Hello world"

```
#include <stdio.h>
int main(void)
{
printf("Hello, world\n");
}
```

And a python program doing the same:

```
print("Hello world")
```

Pretty simple, right?

- 
Python is free and open-source- it's readily available on the official website [https://www.python.org/downloads/]. Python also has a very active and friendly community which makes it easier for beginners to dive in.

- 
Python is portable - that means you can write code on windows and run it on other platforms like Linux, Unix and Mac.

- 
Dynamically Typed Language:
Python is a dynamically-typed language. That means the type (for example- int, double, long, etc.) for a variable is decided at run time not in advance because of this feature we don’t need to specify the type of variable.

- 
Extensible feature:
Python is an Extensible language. We can write some Python code into C or C++ language and also we can compile that code in C/C++ language.

## What is Python used for?
Python has several use cases among them :

- 
Web development
Several Python frameworks that are particularly powerful to help develop and deploy web applications include  Django, Flask and the new kid on the block, FastApi.These frameworks enable speedy application build with minimal development time

- 
Machine learning and AI
The practical use of AI and Machine learning has grown tremendously in businesses and organizations.
Python can easily handle the computations necessary to create machine learning models and is responsible for creating many advanced applications, such as facial recognition software.

- 
Game applications
Python is often used by developers for building and designing games.

- 
Software development
Python is used to develop many different applications and platforms across industries for example Instagram and Spotify.
Due to Python's ability to handle a range of complex mathematical tasks, the fintech industry has seen an increase in the use of the python programming language over others.

- 
Data science
Python is relatively easy to learn when used in conjunction with data. As such, Python skills are increasingly in demand across both big and small data-driven organizations.

## Learning Python.
As seen above, Python can offer tremendous career opportunities so learning the language in 2022 is your best bet. The challenge for beginners is that the internet is filled with lots and lots of unstructured information making it very difficult to learn effectively.
Below you can find a list of resources for learning the python language from beginner to advanced:

- 
(https://www.freecodecamp.org/news/learning-python-from-zero-to-hero-120ea540b567/) - FreecodeCamp is a free resource to start your web development journey. It offers a nicely curated curriculum in different tracks like Data science, web development etc.

- 
(https://www.udemy.com/course/100-days-of-code/) - Dr Angela Yu did a fantastic job in this course which might be the only course you will need to master the fundamentals as well as gain the practical knowledge you need by tackling 100 projects in 100 days.

- 
(https://realpython.com/products/python-basics-book/)- If you prefer books then you can get the PDF. The guys at(https://realpython.com/) are doing a marvellous job.

- 
(https://automatetheboringstuff.com/) - As well is also a good resource for beginners. It covers both fundamentals as well as practical projects to help you practice.

## Next steps
The trick is to practice, practice and practice. As you learn the fundamentals of the language, practice by coding real-life projects. Join the (#100DaysOfCode) challenge to keep yourself accountable.
Happy coding!