When you start learning Python a lot of questions comes in your mind like that What is Python? What is the use of it ? Why I am going to learn Python? and so on….So, by this article I will try to solve as many as questions which come in your mind related to Python.
Let’s starts with the first question “What is Python”?
Python
- Python is an interpreted, object-oriented, an open-source, high-level programming language.
- It is developed by Guido Van Rossum in 1991 at the National Research Institute of Mathematics, Netherlands.
- It is general purpose programming language that can be used effectively to build any kind of program.
- It is considered to be high versatile programming language because it supports multiple models of programming, such as: OOP, Functional, Imperative and Procedural.
- There are a vast number of libraries and packages available in Python that developers can freely use to create feature-rich tools and software for various applications.
Versions of Python :
Why Developers love Python :
Easy to code : Python is very easy to learn the language as compared to other languages like C, C++, C#, Java, etc. Python is a very developer-friendly language which means that anyone and everyone can learn to code it in a couple of hours or days.
High Level Language : Computer understands Low Level Language/Machine Language and it’s very difficult and time consuming process to code directly in this language. So, a High Level Language is introduced where a human can easily write code in his or her words. High Level Language allow developers to code complex code that is then translated to machine language so that computer can understand what needs to be done.
Expressive Language : Python can perform complex tasks using a few lines of code. A simple example, the hello world program you simply type print(“Hello World”). It will take only one line to execute, while Java or C takes multiple lines.
Free and Open Source : Python is freely available on its official website www.python.org. The open-source means, “Anyone can download its source code without paying any money.” If he/she wants then change the code and contribute updated code towards Python Community.
Highly Portable: Highly portable means “Cross Platform Language” i.e. “Write once, run anywhere”. For example, if we have python code for windows and want to run same code on different platforms such as Linux, Unix, and Mac then we do not need to change it, we can run this code on any platform.
Interpreted Language : Python is an Interpreted Language because Python code is executed line by line at a time. There is no need to compile python code like other languages C, C++, Java, etc. which makes it easier to debug.
Object Oriented Language : Python is Object Oriented Language i.e. it supports the concept of Encapsulation, Inheritance, Polymorphism, etc.
Large Standard Library : Python comes inbuilt with a large number of libraries that can be imported at any instance and be used in a specific program. The presence of libraries also makes sure that you do not have to write your own code for every single thing, just import the library and use the existing module and functions. Some of the common libraries are Pandas, Numpy, Django, Flask, Kivy etc.
GUI Programming : Graphical User Interface (GUI) is one of the important feature of Python, because it has the ability to add flair to code and make the results more visual. Python has support for a wide range of modules like PyQt5, PyQt4, wxPython, or Tk for creating GUI applications. With the help of these modules you can easily create any desktop application.
Dynamically Typed : In Python, we don’t need to specify the data-type of the variable. When we assign some value to the variable, it automatically allocates the memory to the variable at run time. Even you can change the value of that variable with another data type. For example, a=15 (a store integer value), on next line you will write like a=”Study” (now a store string value).
DRAWBACKS :
Speed Limitations : As we discussed above that Python is an interpreted language. So, execution of code will be take place line by line often leads to slow execution. The dynamic nature of Python is also responsible for the slow speed of Python because it has to do the extra work while executing code.
Weak in Mobile Computing : Python is generally used in server-side programming. Python is not memory efficient and it has slow processing power as compared to other languages due to these reasons Python not mostly use with the client-side or mobile applications.
Design Restrictions : As we mentioned above that Python is dynamically-typed. This means that you don’t need to declare the type of variable while writing the code. It uses duck-typing. But wait, what’s that?
Duck Typing is a type system used in dynamic languages. For example, Python, Perl, Ruby, PHP, JavaScript, etc. where the type or the class of an object is less important than the method it defines. Using Duck Typing, we do not check types at all. Instead, we check for the presence of a given method or attribute.
Underdeveloped Database Access Layer : Every programing language interacts with database to store the data, but in Python, when we are interacting with the database, it lacks behind. The Python’s database access layer is primitive and underdeveloped in comparison to the popular technologies like Java Database Connectivity (JDBC) and Open Database Connectivity (ODBC). Huge enterprises need smooth interaction of complex legacy data and Python is thus rarely used in enterprises.
WHAT CAN YOU DO WITH PYTHON :
Now-a-days you can see Python in all the fields like Artificial Intelligence (AI), Machine Learning (ML), Web Application Development, Mobile App Development, Network Programming and many more.
WHO USES PYTHON :
Python used by many top of the companies like Google, Facebook, Nokia, Yahoo, Netflix and many more.
Now I hope from the above content you have a basic understanding of Python and its features.