You are on page 1of 14

1|Page Machine Learning

Python for Beginners | How to Quickly Learn Python?

In this Python lecture, I shall introduce you to Python Programming. This includes features of Python,
Python architecture and its applications in the industry. Also, we will learn about available python
frameworks like Django, Flask, Pyramid, etc.

There’s a reason they choose Python as an introductory language for programming. Simple, concise,
easy- Python has it all. It also equips you to build so much. All aboard the Python train!

1. What is Python?

The Python programming language is an object-oriented language, which means that it can model real-
world entities. It is also dynamically-typed because it carries out type-checking at runtime. It does so to
make sure that the type of a construct matches what we expect it to be. The distinctive feature about
Python is that it is an interpreted language. The Python IDLE (Integrated Development Environment)
executes instructions one line at a time. This also lets us use it as a calculator.

i. Why is it called Python?

Going into etymology, Guido van Rossum named it after the comedy group Monty Python. That is why
the metasyntactic variables (those we will often use to explain code syntax) used here are ‘spam’ and
‘eggs’ instead of ‘foo’ and ‘bar’.

A lot of implementations today run version 2.x, but the future belongs to Python 3.x. It is also
called ‘Python 3000’ or ‘Py3K’. CPython, written in C, is the most common implementation of
Python.

ii. What makes Python so powerful?

Apart from the constructs that Python provides, you can use the PyPI (Python Package Index). It is a
2|Page Machine Learning

repository of third-party Python modules and you can install it using a program called pip. Run the
following command in Command Prompt:

pip install library_name

2. How was Python Born?

The Python programming language was conceived in the late 1980s and was named after the
BBC TV show Monty Python’s Flying Circus. Guido van Rossum started implementing Python at
CWI in the Netherlands in December of 1989. This was a successor to the ABC programming
language which was capable of exception handling and interfacing with the Amoeba operating
system.
On October 16 of 2000, Python 2.0 released and it had many major new features including cycle-
detecting garbage collector for memory management and support for Unicode.
The next version of Python 3.0 released on December 3, 2008.

3. Python Architecture
Let’s now talk about Python architecture and its usual flow
i. Parser
It uses the source code to generate an abstract syntax tree.

(
Definition - What does Parser mean?
A parser is a compiler or interpreter component that breaks data into smaller
elements for easy translation into another language. A parser takes input in the
form of a sequence of tokens or program instructions and usually builds a data
structure in the form of a parse tree or an abstract syntax tree.
)
ii. Compiler
It turns the abstract syntax tree into Python bytecode.
iii. Interpreter
It executes the code line by line in a REPL (Read-Evaluate-Print-Loop) fashion. On
Windows, when you want to run the Python interpreter in the shell, you can type the
following:
$python

What is a Compiler?
3|Page Machine Learning

A compiler is a program that translates a source language or high-level programming


language (for example, Java, C++) into a target machine code (binary bits – 1 and 0)
that the CPU can process and understand. The program to be translated is written
inside an editor and are known as source statements. The act of translating source
code to machine or binary code is known as compilation.

A compiler that is suitable for the programming language is used in which the name of
the file name containing the source statements is specified. During compilation, all the
language statements will be parsed or analyzed to see if it is correct. If there is no
error, the compiler would then convert the source code into machine code which is
then ready to execute.

The output of the compilation is also known as object code or object module. However,
it should not be confused with an object in object-oriented programming as it is not the
same.

The task of a compiler is generally divided into several phases. The phases include
lexical analysis, syntax analysis, sematic analysis, intermediate code generator, code
optimizer and code generator. Each of these phases helps convert the source code by
breaking it down into tokens, generating parse trees and optimizing the source code.

What is an Interpreter?

An interpreter is a program which also converts a high-level programming language 


(like Python, PHP, Perl) into machine code. Although similar to a compiler, the way that
code is executed is different for both. Unlike a compiler that simply converts the
source code to machine code, an interpreter can be run directly as an executable
program. Contrary to a compiler, it converts source code to machine code when the
program is running and not before the program runs.

Interpreters do not produce any intermediary object code like compilers. In


interpreters, the source code is compiled and executed at the same time. It continues
4|Page Machine Learning

to translate the program until it encounters the first error after which it stops.
Therefore, it is easy to debug. With interpreters, the source statements are executed
line by line in contrast to a compiler that converts the whole program at once.

The interpreter also performs lexing, parsing and type checking which is similar to a
compiler. However, interpreters directly process syntax tree rather than generating
code from it.

4. Python Constructs

Python Constructs

i. Functions

A function in Python is a collection of statements grouped under a name. You can use it whenever you
want to execute all those statements at a time. You can call it wherever you want and as many times as
you want in a program. A function may return a value.

ii. Classes

As we discussed earlier, Python is an object-oriented language. It supports classes and objects. A class is
an abstract data type. In other words, it is a blueprint for an object of a certain kind. It holds no values.
An object is a real-world entity and an instance of a class.
5|Page Machine Learning

iii. Modules

A Python module is a collection of related classes and functions. We have modules for mathematical
calculations, string manipulations, web programming, and many more.

iv. Packages

Python package is a collection of related modules. You can either import a package or create your own.

v. List

You can think of a list as a collection of values. Declared in the CSV (Comma-Separated Values) format
and delimit using square brackets:

life = [‘love’, ‘wisdom’, ‘anxiety’];


arity = [1,2,3];

Notice that we do not declare the type for the list either. A list may also contain elements of different
types, and the indexing begins at 0:

person = [‘firstname’, 21];


print(person[1])

Output: 21
You can also slice lists; slicing is a way of retrieving some values from it. We will learn more about it in
further lessons.

vi. Tuple

A tuple is like a list, but it is immutable (you cannot change its values).

pizza = (‘base’, ‘sauce’, ‘cheese’, ‘mushroom’);


pizza[3] = ‘jalapeno’

This raises a TypeError.

vii. Dictionary

A dictionary is a collection of key-value pairs. Declare it using curly braces, and commas to separate
key-value pairs. Also, separate values from keys using a colon (:).

student = {‘Name’: ‘Abc’, ‘Age’: 21}


print(student[‘Age’])

Output: 21
6|Page Machine Learning

viii. Comments and Docstrings

Declare comments using an octothorpe (#). However, Python does not support multiline comments.
Also, docstrings are documentation strings that help explain the code.
#This is a comment
“““
This is a docstring
”””
Python has a lot of other constructs. These include control structures, functions, exceptions, etc.

5. Features of Python

The Python programming language is one of the richest languages. In this Python tutorial, we will
discuss several features of Python:
7|Page Machine Learning

Features of Python Programming Language

i. Easy

Python is very easy to learn and understand; using this Python tutorial, any beginner can understand the
basics of Python.
8|Page Machine Learning

ii. Interpreted

It is interpreted(executed) line by line. This makes it easy to test and debug.

iii. Object-Oriented

The Python programming language supports classes and objects. We discussed these above.

iv. Free and Open Source

The language and its source code are available to the public for free; there is no need to buy a costly
license.

v. Portable

Since it is open-source, you can run Python on Windows, Mac, Linux or any other platform. Your
programs will work without needing to the changed for every machine.

vi. GUI Programming

You can use it to develop a GUI (Graphical User Interface). One way to do this is through Tkinter.

vii. Large Library

Python provides you with a large standard library. You can use it to implement a variety of
functions without needing to reinvent the wheel every time. Just pick the code you need and continue.
This lets you focus on other important tasks.
9|Page Machine Learning

6. Python Frameworks

Frameworks in Python Programming Language

i. Django

Python Django is a free and open-source framework written in Python and is the most common
framework for Python. It allows you to create database-driven websites. It follows the DRY Principle
(Don’t Repeat Yourself). This is a design philosophy that keeps code simple and eloquent. 

Popular websites like Instagram, Mozilla, and Disqus make use of it.
10 | P a g e Machine Learning

ii. Flask

Like Django, Flask is a web framework written in Python itself. It is a micro framework because it
does not need certain libraries and tools. It also does not have form validation or a database abstraction
layer. However, you can make use of extensions to add extra features.

iii. Pyramid

Pyramid is another web framework. It is neither a mega-framework that would make decisions for you
nor a micro-framework that wouldn’t force decisions. It gives you optimal liberty of your project.

iv. Tornado

Another open-source web framework, Tornado is written in Python Language. It is noted for its
excellent performance and scalability.

v. Bottle

Like Flask, it is a micro-framework for Python. It is used for web development. Bottle is known for its
speed, simplicity, and lightweight. A single file can run both Python 2.5+ and 3.x.

vi. web2py

Written in Python, web2py is another open source web framework. It emphasizes on rapid development
and follows an MVC architecture. MVC stands for Model View Controller.

vii. NumPy

NumPy is an open-source framework for Python. We use it for scientific computing. It supports large
multidimensional arrays and matrices, and functions to operate on them.

viii. SciPy

SciPy is a Python library that you can use for scientific computing. It has modules for linear algebra,
interpolation, fast Fourier transform (FFT), image processing, and many more. It uses multidimensional
arrays from the NumPy module.

ix. Pylons

This is a deprecated framework, which means it is no longer recommended. It is a web framework and is
open source as well. It makes extensive use of third-party tools.

7. Flavors of Python

Now, let’s take a look at major Python implementations –


11 | P a g e Machine Learning

Flavors of Python Programming Language

i. CPython

This is the most widely accepted implementation of Python. It is written in the language C, and is an
interpreter.

ii. Jython

Jython is a Python implementation written in Java. A Jython program can import any Java class. It
compiles to Java bytecode.

iii. IronPython
12 | P a g e Machine Learning

IronPython is implemented in C#. It can function as an extensibility layer to application frameworks


written in a .NET language.

iv. Brython

Brython stands for Browser Python. It is an implementation of Python that runs in the browser.

v. RubyPython

It acts as a bridge between the Python and Ruby interpreters. It marshals data between Python and Ruby
virtual machines.

vi. PyPy

Interesting to know how PyPy is Python implemented in Python. This makes it faster and easier to
experiment with. However, the standard implementation is CPython.

vii. MicroPython

This is an implementation of Python meant to run on a microcontroller. It uses a MicroPython board that
runs MicroPython on bare metal.

Let’s move ahead in this Python tutorial and learn file extensions of Python.

8. File Extensions in Python

 .py –The normal extension for a Python source file


 .pyc- The compiled bytecode
 .pyd- A Windows DLL file
 .pyo- A file created with optimizations
 .pyw- A Python script for Windows
 .pyz- A Python script archive

9. Python Applications

Python is easy to pick-up even if you come from a non-programming background. You can look at the
code and tell what’s going on. Talking of Python applications, some of the cool things that you can do
with Python are –

 Build a website
 Develop a game
 Perform Computer Vision (Facilities like face-detection and color-detection)
 Implement Machine Learning (Give a computer the ability to learn)
 Enable Robotics
 Perform Web Scraping (Harvest data from websites)
13 | P a g e Machine Learning

 Perform Data Analysis


 Automate a web browser
 Perform Scripting
 Perform Scientific Computing
 Build Artificial Intelligence

Python isn’t limited to these applications. If you’ve ever used services from brands like YouTube,
Dropbox, and Netflix, then you’ve been a consumer of Python. The search-engine Google also made
great use of the language in its initial stages.

When writing code in Python, you need fewer lines of code compared to languages like Java. This high-
level language is also open-source and free. Going by the TIOBE Index, it is among the major
programming languages with the fastest growth. This makes a career in Python a great choice.

To make it clearer about Python, we have covered how it is different from other programming languages
like Java or C++.

10. Python vs Java vs C++

Python uses whitespace indentation to delimit code, you don’t need to use curly braces for that. Also,
semicolons are optional. It has two correct syntaxes:

1. a = 7
2. print(a)

1. a = 7;
2. print(a)

While Java and C++ are statically-typed, Python is dynamically-typed. You also don’t need to declare
the type of a variable; you assign it:

1. life=42

Java is faster by a few seconds, but the difference does not invalidate Python’s advantages over it. Since
you can interpret Python, the code is easier to test and debug.

So, this was all about Python. Hope you liked our explanation.

You might also like