Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Other

Python programming language

Rating
-
Sold
-
Pages
147
Uploaded on
08-03-2023
Written in
2022/2023

This document will teach you about python programming language in easy words.

Institution
Course

Content preview

What is Python?
Dating from 1991, the Python programming language was considered a gap-filler, a way to
write scripts that “automate the boring stuff” (as one popular book on learning Python put it) or
to rapidly prototype applications that will be implemented in other languages.

However, over the past few years, Python has emerged as a first-class citizen in modern
software development, infrastructure management, and data analysis. It is no longer a back-
room utility language, but a major force in web application creation and systems management,
and a key driver of the explosion in big data analytics and machine intelligence.

Python’s key advantages
Python’s success revolves around several advantages it provides for beginners and experts alike.

Python is easy to learn and use
The number of features in the language itself is modest, requiring relatively little investment of time or
effort to produce your first programs. The Python syntax is designed to be readable and straightforward.
This simplicity makes Python an ideal teaching language, and it lets newcomers pick it up quickly. As a
result, developers spend more time thinking about the problem they’re trying to solve and less time
thinking about language complexities or deciphering code left by others.

Python is broadly adopted and supported
Python is both popular and widely used, as the high rankings in surveys like the Tiobe Index and
the large number of GitHub projects using Python attest. Python runs on every major operating system
and platform, and most minor ones too. Many major libraries and API-powered services have Python
bindings or wrappers, letting Python interface freely with those services or directly use those
libraries. Python may not be the fastest language, but what it lacks in speed, it makes up for in
versatility.

Python is not a “toy” language
Even though scripting and automation cover a large chunk of Python’s use cases (more on that later),
Python is also used to build professional-quality software, both as standalone applications and as web
services.

What Python is used for
The most basic use case for Python is as a scripting and automation language. Python isn’t just a
replacement for shell scripts or batch files; it is also used to automate interactions with web
browsers or application GUIs or to do system provisioning and configuration in tools such
as Ansible and Salt. But scripting and automation represent only the tip of the iceberg with Python.

,General application programming with Python
You can create both command-line and cross-platform GUI applications cwith Python and deploy them
as self-contained executables. Python doesn’t have the native ability to generate a standalone binary
from a script, but third-party packages like cx_Freeze and PyInstaller can be used to accomplish that.

Data science and machine learning with Python
Sophisticated data analysis has become one of fastest-moving areas of IT and one of Python’s star use
cases. The vast majority of the libraries used for data science or machine learning have Python
interfaces, making the language the most popular high-level command interface to for machine learning
libraries and other numerical algorithms.

[ The essentials from InfoWorld: Get started with Anaconda, the Python distribution for data science.
• What’s new in the Anaconda distribution for Python. • 5 essential Python tools for data science—
now improved. ]

Web services and RESTful APIs in Python
Python’s native libraries and third-party web frameworks provide fast and convenient ways to create
everything from simple REST APIs in a few lines of code to full-blown, data-driven sites. Python’s latest
versions have strong support for asynchronous operations, letting sites handle tens of thousands of
requests per second with the right libraries.

Metaprogramming and code generation in Python
In Python, everything in the language is an object, including Python modules and libraries themselves.
This lets Python work as a highly efficient code generator, making it possible to write applications that
manipulate their own functions and have the kind of extensibility that would be difficult or impossible to
pull off in other languages.

Python can also be used to drive code-generation systems, such as LLVM, to efficiently create code in
other languages.

“Glue code” in Python
Python is often described as a “glue language,” meaning it can let disparate code (typically libraries with
C language interfaces) interoperate. Its use in data science and machine learning is in this vein, but
that’s just one incarnation of the general idea.

Where Python falls short
Also worth noting are the sorts of tasks Python is not well-suited for.

Python is a high-level language, so it’s not suitable for system-level programming—device drivers or OS
kernels are out of the picture.

It’s also not ideal for situations that call for cross-platform standalone binaries. You could build a
standalone Python app for Windows, MacOS, and Linux, but not elegantly or simply.

Finally, Python is not the best choice when speed is an absolute priority in every aspect of the
application. For that, you’re better off with C/C++ or another language of that caliber.

,How Python makes progamming simple
Python’s syntax is meant to be readable and clean, with little pretense. A standard “hello world” in
Python 3.x is nothing more than:

print(“Hello world!”)

Python provides many syntactical elements to concisely express many common program flows. Consider
a sample program for reading lines from a text file into a list object, stripping each line of its terminating
newline character along the way:

with open(‘myfile.txt’) as my_file:

file_lines = [x.strip(‘\n’) for x in my_file]

The with/as construction is a context manager, which provides an efficient way to instantiate an object
for a block of code and then dispose of it outside that block. In this case, the object is my_file,
instantiated with the open() function. This takes the place of several lines of boilerplate to open the file,
read individual lines from it, then close it up.

The [x … for x in my_file] construction is another Python idiosyncrasy, the list comprehension. It lets an
item that contains other items (here, my_file and the lines it contains) be iterated through, and it lets
each iterated element (that is, each x) be processed and automatically appended to a list.

You could write such a thing as a formal for… loop in Python, much as you would in another language.
The point is that Python has a way to economically express things like loops that iterate over multiple
objects and perform a simple operation on each element in the loop, or to work with things that require
explicit instantiation and disposal.

Constructions like this let Python developers balance terseness and readability.

Python’s other language features are meant to complement common use cases. Most modern object
types—Unicode strings, for example—are built directly into the language. Data structures—like lists,
dictionaries (that is, hashmaps), tuples (for storing immutable collections of objects), and sets (for
storing collections of unique objects)—are available as standard-issue items.

Python 2 versus Python 3
Python is available in two versions, which are different enough to trip up many new users. Python 2.x,
the older “legacy” branch, will continue to be supported (that is, receive official updates) through 2020,
and it might persist unofficially after that. Python 3.x, the current and future incarnation of the
language, has many useful and important features not found in 2.x, such as better concurrency controls
and a more efficient interpreter.

, Python 3 adoption was slowed for the longest time by the relative lack of third-party library support.
Many Python libraries supported only Python 2, making it difficult to switch. But over the last couple of
years, the number of libraries supporting only Python 2 has dwindled; most are now compatible with
both versions. Today, there are few reasons for not using Python 3.

Python’s libraries
The success of Python rests on a rich ecosystem of first- and third-party software. Python benefits from
both a strong standard library and a generous assortment of easily obtained and readily used libraries
from third-party developers. Python has been enriched by decades of expansion and contribution.

Python’s standard library provides modules for common programming tasks—math, string handling, file
and directory access, networking, asynchronous operations, threading, multiprocess management, and
so on. But it also includes modules that manage common, high-level programming tasks needed by
modern applications: reading and writing structured file formats like JSON and XML, manipulating
compressed files, working with internet protocols and data formats (webpages, URLs, email). Most any
external code that exposes a C-compatible foreign function interface can be accessed with
Python’s ctypes module.

The default Python distribution also provides a rudimentary, but useful, cross-platform GUI library via
Tkinter, and an embedded copy of the SQLite 3 database.

The thousands of third-party libraries, available through the Python Package Index (PyPI), constitute the
strongest showcase for Python’s popularity and versatility.

For example:

 The BeautifulSoup library provides an all-in-one toolbox for scraping HTML—even tricky, broken HTML—
and extracting data from it.
 Frameworks like Flask and Django allow rapid development of web services that encompass both simple
and advanced use cases.
 Multiple cloud services can be managed through Python’s object model using Apache Libcloud.
 NumPy, Pandas, and Matplotlib accelerate math and statistical operations, and make it easy to create
visualizations of data.

Python’s compromises
Like C#, Java, and Go, Python has garbage-collected memory management, meaning the programmer
doesn’t have to implement code to track and release objects. Normally, garbage collection happens
automatically in the background, but if that poses a performance problem, you can trigger it manually or
disable it entirely.

An important aspect of Python is its dynamism. Everything in the language, including functions and
modules themselves, are handled as objects. This comes at the expense of speed (more on that later),
but makes it far easier to write high-level code. Developers can perform complex object manipulations
with only a few instructions, and even treat parts of an application as abstractions that can be altered if
needed.

Python’s use of significant whitespace has been cited as both one of Python’s best and worst attributes.
The indentation on the second line below isn’t just for readability; it is part of Python’s syntax. Python
interpreters will reject programs that don’t use proper indentation to indicate control flow.

Written for

Course

Document information

Uploaded on
March 8, 2023
Number of pages
147
Written in
2022/2023
Type
OTHER
Person
Unknown

Subjects

$10.99
Get access to the full document:

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Get to know the seller
Seller avatar
chiragchauhan

Get to know the seller

Seller avatar
chiragchauhan IGNOU
Follow You need to be logged in order to follow users or courses
Sold
-
Member since
3 year
Number of followers
0
Documents
1
Last sold
-

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions