What makes Python so special ?

Ashish Pal
Nov 2 · 6 min read
  1. Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.

Let’s understand what each Jargon means:

Interpreted means, it takes a single line of code or instruction as its input.

Let’s see difference between Interpreter and Compiler -

Object-oriented programming(OOP) refers to a type of computer programming (software design) in which programmers define the data type of a data structure, and also the types of operations(functions) that can be applied to the data structure.

High-level programming language with dynamic semantics means:

In many programming languages, variables are best thought of as containers or buckets into which you put data. So in C, for example, when you write

C code

int x = 4;

you are essentially defining a “memory bucket” named x, and putting the value 4 into it. In Python, by contrast, variables are best thought of not as containers but as pointers. So in Python, when you write

x = 4

you are essentially defining a pointer named x that points to some other bucket containing the value 4.

Note one consequence of this: because Python variables just point to various objects, there is no need to “declare” the variable, or even require the variable to always point to information of the same type! This is the sense in which people say Python is dynamically-typed: variable names can point to objects of any type. So in Python, you can do things like this:

x = 1 # x is an integer

x = ‘hello’ # now x is a string

x = [1, 2, 3] # now x is a list

2. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development and also used as a scripting or glue language to connect existing components together.

High-level build in data structures means :

Dynamic Typing:

When we declare a variable in C or alike languages, this sets aside an area of memory for holding values allowed by the data type of the variable. The memory allocated will be interpreted as the data type suggests. If it’s an integer variable the memory allocated will be read as an integer and so on. When we assign or initialize it with some value, that value will get stored at that memory location. At compile time, initial value or assigned value will be checked. So we cannot mix types. Example: initializing a string value to an int variable is not allowed and the program will not compile.

But Python is a dynamically typed language. It doesn’t know about the type of the variable until the code is run. So declaration is of no use. What it does is, It stores that value at some memory location and then binds that variable name to that memory container. And makes the contents of the container accessible through that variable name. So the data type does not matter. As it will get to know the type of the value at run-time.

3. Python’s simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse.

4. The Python interpreter and the extensive standard library are available in source or binary form without charge for all major platforms, and can be freely distributed.

5. Python is a great general-purpose programming language on its own, but with the help of a few popular libraries (numpy, scipy, matplotlib) it becomes a powerful environment for scientific computing, data visualization and data analysis.

6. Uses of Python also helps in accessing the database easily. Python helps in customizing the interfaces of different databases like MySQL, Oracle, Microsoft SQL Server, PostgreSQL, and other databases.

APPLICATIONS

Web and Internet Development

Python offers many choices for :

List of companies uses Python for their development

Desktop GUI Development

The GUI library is included with most binary distributions of Python.

Some toolkits that are usable on several platforms are available separately:

Science and Numeric Applications

Python is widely used in computing:

  • is a collection of packages for mathematics, science, and engineering.
  • is a data analysis and modeling library.
  • is a powerful interactive shell that features easy editing and recording of a work session, and supports visualizations and parallel computing.
  • The teaches basic skills for scientific computing, running bootcamps and providing open-access teaching materials.

Software Development Application

Python is often used as a support language for software developers, for build control and management, testing, and in many other ways.

Business Applications

Python is also used to build ERP and e-commerce systems:

  • is an all-in-one management software that offers a range of business applications that form a complete suite of enterprise management applications.
  • is a three-tier high-level general purpose application platform.

Artificial Intelligence

As AI and ML are being applied across various channels and industries, big corporations invest in these fields, and the demand for experts in ML and AI grows accordingly. Jean Francois Puget, from IBM’s machine learning department, expressed his opinion that .

ML requires continuous data processing, and Python’s libraries let you access, handle and transform data. These are some of the most widespread libraries you can use for ML and AI:

  • for handling basic ML algorithms like clustering, linear and logistic regressions, regression, classification, and others.
  • for high-level data structures and analysis. It allows merging and filtering of data, as well as gathering it from other external sources like Excel, for instance.
  • for deep learning. It allows fast calculations and prototyping, as it uses the GPU in addition to the CPU of the computer.
  • for working with deep learning by setting up, training, and utilizing artificial neural networks with massive datasets.
  • for creating 2D plots, histograms, charts, and other forms of visualization.
  • for working with computational linguistics, natural language recognition, and processing.
  • for image processing.
  • for neural networks, unsupervised and reinforcement learning.
  • for deep learning that allows switching between the CPU and the GPU and processing 60+ mln images a day using a single NVIDIA K40 GPU.
  • for statistical algorithms and data exploration.

Analytics Vidhya

Analytics Vidhya is a community of Analytics and Data Science professionals. We are building the next-gen data science ecosystem https://www.analyticsvidhya.com

Ashish Pal

Written by

AI enthusiast| Data Scientist | AI ML Coach @www.pathtoai.com

Analytics Vidhya

Analytics Vidhya is a community of Analytics and Data Science professionals. We are building the next-gen data science ecosystem https://www.analyticsvidhya.com

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade