This post is meant for someone who is new to Python or someone who wants to get an overview. I will be covering a basic overview of Python and its use-cases.
- Python programming language.
- Why is there a lot of buzz about Python these days?
- Should you consider learning python?
Let's jump to it then!
What is Python?
I will not bore you with the actual definition, you can read it here: https://www.python.org/doc/essays/blurb/
Instead, I will breakdown the key concept:
- Python is a General Purpose programing language:
- By general purpose, it means that Python can be used for doing lots of stuff. That we can explore later below.
- Python is an Interpreted language:
- Generally, a code written in any high-level programing language like c, CPP, java is first compiled (compile-time)
and converted into byte code (instructions that a machine can understand).
Then you can run the compiled bytecode(runtime).
But in python code compilation happens at the runtime and there is no need to compile the code beforehand.
- Easy to understand:
- it’s relatively easy to learn because of simple syntax compare to other languages.
Hides the implementation part so that we can focus on solving the problem.
Why is there a lot of buzz about Python these days?
As we now know that Python is a general-purpose programming language,
We can now explore the areas where Python is being used in the industries these days.
- AI and machine learning:
If we go by the performance, R language wins in this area as R is purely developed for Analysing Data Analytics and Machine Learning problems.
but since Python can be used for quickly building applications/web apps around the machine learning solution.
Which gives Python edge as it is easy to learn one language and cover all the aspect of product development
than to build an ML model in R and the integrate the model with an application developed in Python or Java.
- Data analytics: With the help of the Open source, community Data Analysis can be done quickly and easily on Python. You can do ETL and reporting (plotting libraries) together by just using Python whereas traditionally there are different tools used for ETL and Reporting. i.e: Informatica is an ETL tool used to build the datamart or data warehouse and Table is used for reporting. A few of the known libraries are Pandas, matplotlib, seaborn, plotly along with a lot more. One of the places I have used Python in data Analytics is, for analyzing raw data to build the ETL logic.
since being, easy to use and general-purpose language, Python can be easily used to build automation frameworks/utilities/scripts.
you can automate from basic stuff to quite advanced stuff.
A few of the automation that has helped me in reducing manual effort and time exponentially using python is:
- Email Notification alert of failure of process.
- Creating Jira Ticket for the failed test case.
- Archiving old data files in the folder.
- Excel Report generation.
- Connecting to Database and running test-cases.
- Converting different file formats.
general areas where python is being used for automation are:
UI automation using selenium
web scraping using selenium and beautiful soup.
RPA(robotic process automation) is currently one of the most popular automation frameworks for automation.
- Web development:
yes, you heard me right you can do full web development (front-end, back-end, or APIs) using python.
you can build your ml model and then integrate it with the front-end which is created using python.
A few of the popular frameworks used in the industry are Django, flask, FastAPI.
Coming back to the final question.
Should you consider learning python?
- You can do all of the above-mentioned things using different languages available for them,
but if you know Python you can do it by learning a single language.
The least learning python will do is to give you a quick prototype of the idea you are working on.
you can use python to test whether the product/idea you want to build is possible or not.
So what's your thought on learning Python?
let's discuss it in the comment section.
I'm new to blogging and Publish0x so help me by giving your feedback in the comment section