Python is
the most trending and widely used object oriented programming language in the
present world of development, created by Guido van Rossum in the 1980s. Python
is designed to be a general purpose, high-level, interpreted programming
language and is open source. This was a basic introduction to python and as
we go deep into the article we will take a shallow dive into it. Get ready for
an amazing python tour!
Why
python?
The most cute thing I noticed about python is the “traceback” it
gives for compilation errors, it seemed to me as if python is not understanding
my statements and is angry. Unlike other programming languages that tell it on
a developer’s face as “syntax error”, python gives a traceback requesting its
programmers to trace their mistakes and tell the statements more clearly. In my
opinion traceback is the polite way of calling a syntax error or any other
compilation error that a programming language throws at programmers. There is a
beautiful trick to overcome the exasperation that one goes through while facing
traceback especially after coding for hours, this usually happens with every
programmer and has an easy way to handle it. Keep reading to know!
An amazing feature of python is that its programs can be easily
converted to softwares, with the help of different libraries such as
pyinstaller or py2exe and such. The main advantage behind this is, any python
software consisting of an executable file can be magically executed even on
computers with no python installed and reason for this is, python being an
interpreted language, while conversion of python program to python executable
software, the interpreter is incorporated into the same folder as where python
executable file is placed, hence enabling it to be executed on devices with no
python installed. Python programs are saved with extension .py and a simple
command in CLI can convert this program to software, this helps developers
convert their great codes to softwares in minutes. The different web scraping
programs that I developed got converted into softwares within no time and were
all up and running in a few blinks.
Python with its vast collection of libraries, supports web-backend
development, game development and software development which all together have
taken a common name as python development. I have seen my friends enjoying the
oldest snake game that can be developed using python easily. Apart from this
even different types of adventurous games can be developed using python.
Python even contributes to immensely popular technological fields
like data science, artificial intelligence, machine learning, big data, cloud
computing, open CV,deep learning and such with its libraries and frameworks
such as numpy, tensorflow, django,flask beautiful soup,scipy and so on and all
these libraries help a lot in initial cycle of development, saving a lot of
time of the developers and with all these functionalities python has proved
itself as the most powerful programming language in the world of development
with many companies using it as their official programming language, Google is
one such example.
I started
learning python through an online specialization, my instructor , always used
to say a trick to handle the anguish mixed irritation a developer would get by
seeing tracebacks, for that matter say, a compilation error pops up giving a
traceback and we go mad at it, he used to say, to consider python an innocent
baby snake that is angry at us as it didn’t understand what we just told it.
This thought alone would bring a smile on my face whilst coding, instead of
exasperation. Apart from this cute side, python even has a powerful side, with
a potential to do various tasks as per developers interests, Let’s move on to
that now.
Python unlike some other programming languages doesn’t
differentiate between characters and strings through their writing styles, for
example “hello” and ‘hello’ both are considered as strings and ‘h’ is
considered as a character because it’s a string with length 1. Hence python is
smart enough to understand the difference between strings and characters and
like many other popular programming languages strings in python are arrays and
characters are strings with length 1. Even, there is no need to mention data
types of variables in python as the interpreter understands it based on the
value given to a particular variable. Now this in my opinion is highly
convenient for any programmer and as for me, when I would code in c++, I would
always forget to declare variables with its data types and end up getting compilation
errors, but the python interpreter manages all of it magically.
Python variables even accept all types of integer and decimal
values and even provides many standard library functions to operate on them
such as ord(), str(), int(), Round(),float() and many more where these inbuilt
functions operate on different types of variables.
Python even allows conditional branching with if, elif and else
statements, where every line inside loops, functions and conditional statements
of python must be indented and kept at the same indent level for the
interpreter to understand which statement belongs to which block. If you miss
an indent the baby snake is going to get very angry, so do remember!
In order to tell the interpreter that a block of code has come to
an end, the next statement is unindented to the previous indent level of other
blocks of code. For-loop in python is amazingly designed and is completely
different from for-loop in many other programming languages. A single
mentioning of the iteration variable would be enough to complete the loop and
iterate till the end. For-loops easily make out the end of data structures like
tuples,lists and dictionaries and there is no need of mentioning a separate
ending condition.
Just like all other programming languages, python has its own data
structures where lists are nothing but arrays and tuples are arrays with
rounded braces. Dictionaries are little different where all the values are
stored with keys referencing it, hence it follows keys as its index. Python
even facilitates use of regular expressions that reduce both length of code and
time taken by the programmer to code.
While loops are having true condition as default condition for
entering the loop and terminating condition must be mentioned separately
inside the body of the loop. In order to define a function in python, define
keyword is used and when control encounters a function call it automatically
shifts to body of the function and executes the statements there, though this
sounds similar to execution flow of functions in other programming languages,
there is a lot of difference in their syntaxes where unlike other programming
languages functions in python doesn’t need to be mentioned with their
data types but parameters if any, must be compulsorily mentioned, again without
their respective data types. Python follows ‘#’ for single line commenting and
multiline comment blocks are not supported hence consecutive single line
commenting is followed to comment out multiple lines.
Python for a reason is termed as an object oriented programming
language where it supports all the features of OOP, such as defining classes,
polymorphism, encapsulation, inheritance and gives a greater emphasis on
objects with class serving as a blueprint of the object and object as the
instance of the class. For instance, objects can be people, cities, countries
etc and usually are common nouns containing data like name, place,address,age
etc. Definition of classes contain methods or functions and can be accessed
through objects.
Python has even spread its wings across the field of full stack
development by providing various web frameworks such as django, flask, web2py
and so on. Flask and django are my all time favourites due to their routing and
syntax simplicity and their compatibility with javascript. I was amazed when I
found out that it’s possible to write python logic along with html! on the
python framework development. Yes you read it right! It’s possible due to
template engines like jinja and django template engine.
Along with this python supports even database management with a
python-mysql package that has a MySQLdb, OurSQL and so on modules that is
actually written in C language. I kept on clapping for the python creator in my
mind when I worked with this amazing package where python and mysql are
combined to manage databases. Python even has a library sqlite, with the help
of which a database file is generated by itself and the developer needs to just
provide the name he wants to give to the database. This is compatible only with
sqlite browser.
No comments:
Post a Comment