Chapter 3 - Overview of Python

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

BRIEF OVERVIEW OF PYTHON

INTRODUCTION:
Python was created by Guido Van Rossum when he was working at CWI (Centrum Wiskunde &
Informatica) which is a National Research Institute for Mathematics and Computer Science in Netherlands. The
language was released in 1991. Python got its name from a BBC comedy series from seventies called
“Monty Pythons Flying Circus”. It is based on two programming languages called ABC and Modula–3.

It is used in a variety of fields, including software development, web development, scientific computing,
big data and Artificial Intelligence.

Some of the features which make Python so popular are as follows:

 It is a general purpose programming language which can be used for both scientific and non scientific
programming.
 It is a platform independent programming language.
 It is a very simple high level language with vast library of add–on modules.
 It is excellent for beginners as the language is interpreted, hence gives immediate results.
 The programs written in Python are easily readable and understandable.
 It is suitable as an extension language for customizable applications.
 It is easy to learn and use.
 It is case sensitive. i.e. Uppercase and Lowercase alphabets are different

ADVANTAGES OF PYTHON:

1. Easy to Use: Python is compact and very easy to use Object Oriented language with very simple
syntax rules. It is programmer–friendly
2. Expressive Language: Because of simple syntax and fewer lines of code, it is more capable to express
code's purpose than many other languages

C Language Code Python Code


for swapping values for swapping values
int a = 2, b = 3, temp; a, b = 2, 3
temp = a; a, b = b, a
a = b;
b = temp;
3. Interpreted Language: Python interprets and executes the code line by line at a time. It makes Python
an easy–to–debug language and thus suitable for beginners and advanced users
4. Completeness: Python Standard Library provides various modules for different functionalities. For
example, it can be used for different functionalities like email, web–pages, databases, GUI
development, network connections and many more. Hence no additional libraries to be installed
5. Cross–Platform Language: Python can run on different platforms like Windows, Linux / Unix,
Macintosh, Super Computers, Smart Phones etc. Hence it portable language
6. Free and Open Source: Python is freely available at free of cost and its source code is available to
every body for further improvement
7. Variety of Usage: Python can be used for a variety of applications like Scripting, Web Applications,
Game development, System Administration, Rapid Prototyping, GUI Programs, Database Applications
etc.
Limitations of Python:
1. Not the Fastest Language: Fully compiled languages are faster than interpreted languages. Python is
an interpreted language. It is first semi–compiled into an internal byte–code, which is then executed by
a Python interpreter. Hence Python is not faster compared to fully compiled languages
2. Lesser Libraries: Python offers library support for almost all computing programs, but its library is
still not competent with languages like C, Java, Perl as they have larger collection of libraries
3. Not Strong on Type–Binding: Python is not strong on catching 'Type Mismatch'. For example, a
String value can be stored in a variable declared as an integer, where Python never complain about it
4. Not Easily Convertible: The syntax of Python language is simple but different compared to other
programming languages. Hence it is not easy to convert a program which is in Python into other
language

WORKING IN PYTHON:
To write and run Python program, install Python interpreter in computer. IDLE (GUI integrated) is the
standard, most popular Python development environment. IDLE is an acronym of Integrated Development
Environment. It lets edit, run, browse and debug Python Programs from a single interface. This environment
makes it easy to write programs.
Python shell (interpreter) can be used in two ways (i) Interactive Mode (ii) Script Mode
Interactive Mode: As the name suggests, this mode allows to interact with OS. This mode does not save
commands in form of a program. Some points to remember while working in interactive mode are,
 The symbol '>>>' is called Python prompt, indicates that interpreter is ready to accept command
 At the prompt, either a command or statement or expression can be given
 The secondary prompt is '...', indicates that interpreter is waiting for additional input
 Any statement starts with the symbol "#" is called comment
 Alt+P and Alt+N are used to invoke and repeat prior commands provided interactive window
 The quit( ) or Ctrl+D is used to leave the interpreter
 Ctrl+F6 will restarts the shell
 Type credits at the prompt to get information about the organization involved in Python development
 The commands copyright and license( ) can be used to know more about Python
 The command help( ), with empty parenthesis, will provides an interactive help
 The command help( ), with a command inside parenthesis, will provide an exclusive help about
required command
 To leave help and return to interactive mode, quit command can be used
Script Mode: In script mode, Python program is to be typed in a file and then interpreter to be used to execute
the content from the file. Working in interactive mode is convenient for beginners and for testing small pieces of
code. But for coding more than few lines, code is to be saved so that it can be modified and reused.
To create and run a Python script, the following steps to be used in IDLE
1. FileOpen OR FileNew Window (for creating a new script file)
2. Write the Python code as function i.e. script
3. Save it (Ctrl+S)
4. Execute it in interactive mode, by using RUN option (Ctrl+F5)

Understanding print( ):
To print or display output, Python provides print( ) statement. It can be used as follows
print (<objects to be printed>...)
Ex: print ("Hello World")

In Python, a string may be provided in either double quotes or single quotes


PYTHON CHARACTER SET:
Python character set represents the set of valid characters that Python supports. It has the following
character set

Letters A–Z, a–z


Digits 0–9
Special Symbols Space + – * / ** \ { } ( ) // = != == < , > . ' ' " " ; : % ! & # <= >= @ _ (underscore)
Whitespace Blank Space, Tab, Carriage Return, Newline, Form feed
Other Characters Python can process all ASCII and Unicode characters as part of data or literals

TOKENS:
The smallest individual unit in a program is known as Token. It is also called as Lexical Unit. Tokens
present in Python are (i) Keywords (ii) Identifiers (iii) Literals (iv) Operators (v) Punctuators

Keywords: A keyword is a reserved word that has a predefined meaning to the compiler / interpreter. A
keyword must not be used as identifier. Python has the following keywords
False assert del for in or while
None break elif from is pass with
True class else global lambda raise yield
and continue except if nonlocal return
as def finally import not try
Identifiers: An identifier is a name given to a program element such as variable, function, list, dictionary etc.
The rules to be followed while naming an identifier in Python are,
 It may consist of letters (A–Z, a–z), digits (0–9), and underscore( _ )
 It must begin with a letter or an underscore
 It must not begin with a digit
 Uppercase and lowercase alphabets are different. For example sum, Sum, SUM all are different
 A keyword must not be used as an identifier
 It can be of any length. However, it is preferred to be short and meaningful
Literals / Constants: A literal or constant is a program element that will never change its values during
program execution. Python allows several kinds of literals like (i) String literals (ii) Numeric literals (iii)
Boolean literals (iv) Special Literal None
String Literals: A string literal is a sequence of characters enclosed in either single quotes or double quotes.
Either both single quotes or both double quotes to be used for a string. Example: "Python", 'Program' etc. A
single quoted string inside double quotes and vice–versa is legal in Python. Ex: "Anu's" and 'Anu"s' are valid

Escape sequence will be given as a string and performs specified task. Some escape sequences are
\n New line character
\t Horizontal Tab

Python allows (i) Single–line Strings (ii) Multiline Strings

Single–line Strings: The strings that create by enclosing text in single quotes or double quotes are called
single–line strings. Ex: "Python", 'Apple'

Multiline Strings: To provide a string in multiline, it is to be provided in triple quotes (triple single
quotes or triple double quotes)

Ex: print ("""Jawahar


Navodaya Vidyalaya""")
4

Numeric Literals: These literals are three types namely (i) Integer literals (ii) float literals (iii) complex literals

Integer Literals: An integer constant must have at least one digit and must not contain any decimal point.
Different integer literals available are,
1. Decimal Integer Literals: It consists of a sequence of digits between 0 and 9 and does not start with
zero. Ex: 1234, –458 etc

2. Octal Integer Literals: It consists of a sequence of digits between 0 and 7. It begins with 0o(Digit Zero
Letter o) Ex: 0o24, 0o746 etc

3. Hexadecimal Literals: It consists of a sequence of hexadecimal values between 0–9 and A–F. It begins
with 0x. Ex: 0x14AC

Floating Point Literals: These are also called as Real Literals. These can be expressed in two forms viz.
Fractional Form and Exponent Form
1. Fractional Form: A real constant in fractional form must have at least one digit either before or after
decimal point. Ex; 2.0, 17.5, –14.6, –0.05, .3 (means 0.3), 6. (means 6.0)

2. Exponent Form: A real constant in exponent form consists of two parts mantissa and exponent. The
mantissa must be either an integer or a proper real constant. The mantissa is followed by a letter E or e
and the exponent. The exponent must be an integer.
Ex: 152E05, 1.52e07, 0.152E08, 152e+8,–0.172E–3, .25e–4

Boolean Literals: A Boolean literal represent one of the two Boolean values i.e. True or False. A Boolean
literal can either have value as True or as False

Special Literal None:


None is a special literal in Python. It indicates the absence of value. It means "There is not useful
information" or "There is nothing here"

Ex: >>>a = None


>>>print (a)
None

Operators: An operator is a symbol that is used in a program in respect of some operation. Each operation is
denoted by some operator. For example the operation addition is denoted by + and the operation “finding
remainder” is denoted by %. Each programming language will have its own set of operators.
The constants or variables that participate in the operation are called operands
6 + 4

Operand Operator Operand

Unary Operator: If an operator takes only one operand then it is called Unary Operator
Binary Operator: If an operator takes two operands then it is called Binary Operator.
Ternary Operator: If an operator takes three operands then it is called Ternary Operator

Punctuators: These are the symbols used in programming to organize sentence structures and indicate the
emphasis of expressions, statements and program structure. Some punctuators available in Python are,
'"#\()[]{}@,:.=
5

BASIC STRUCTURE OF PYTHON PROGRAM:


The following is a simple Python program
# Program to evaluate Profit or Loss
Comments
# Demonstration of Structure of Python Program
Function def profitloss( ):
cp = 5000
sp = 5000
Statements
pl = sp-cp Expressions
if pl>0:
print("Profit")
elif pl<0:
Indentation print("Loss")
else:
print("No Profit... No Loss.....")

Expression: An expression is any valid combination of symbols and represents a value

Statement: A statement is a programming instruction that does something i.e. performs some action

Comments: These are the statements that will be ignored by Python interpreter and will increase readability of
program. A single line comment starts with the symbol #. For multiline comment content will be enclosed in
triple quotes (" " ") or triple apostrophe (' ' '). A multiline comment is also known as docstring.

Functions: A function is a code that has collection of statements to do some task. It has a name and a function
can be executed repeatedly as many times required

Blocks and Indentation: A group of statements which are part of another statement or a function are called
block or code–block or suite.

VARIABLES:

A variable is a program element that can change its value during program execution. It is an identifier
that has a named location and refers to a value and that value can be processed during program run. As a
variable is an identifier, all the rules for naming an identifier are applicable for naming a variable

Creating a Variable: A variable is created by assigning a value of desired type to it. For example, an integer
variable can be created by assigning an integer value, and a string variable can be created by assigning a string.
It is not possible to create a variable with assigning a value to it
Ex: age = 20 # Means variable age is integer
average = 95.6 # Means variable average is of type float
name = "CBSE" # Means variable name is of type string

LValues and RValues: The LValues are the variables that hold a value or expression, and may present on either
left–hand side or right–hand side of assignment. The RValues are the literals or expressions or variables that are
assigned to LValues and can present on only right–hand side of assignment

Ex: Valid Statements a = 20


d = b*b–4*a*c
temp = a
Invalid Statements 20 = a
a*2=b
Multiple Assignments: Different ways of assignments are,
1. Assigning same value to multiple variables
Ex: a = b = c = 18
2. Assigning multiple values to multiple variables
Ex1: x, y, z = 10, 20, 30 # Means x=10, y=20, z=30
Ex2: x,y = y,x # This makes x=20, y = 10
Ex3: a, b, c = 5, 10, 7
b, c, a = a+1, b+2, c–1
print (a, b, c) # a=6, b=6, c=12
Here, first evaluations of RHS expression(s) and then assigns them to LHS

Dynamic Typing: A variable having a value of certain data type can be assigned with value of some other data
type. In this case, it automatically assumed to change the data type of that variable. This is referred as Dynamic
Typing
x = 10
print (x)
x = "Informatics Practices"
print(x)
This code will results in
10
Informatics Practices

Displaying type of variable: The type( ) can be used to display the data type of a variable or constant or object
Example: >>> a=10
>>> type(a)
<class 'int'>
>>> a=20.5
>>> type(a)
<class 'float'>
>>> a="Python"
>>> type(a)
<class 'str'>

INPUT AND OUTPUT IN PROGRAMMING:

Input: The input( ) function is used to input during runtime of a program. But, this function always returns a
value of string type. i.e. even a number inputted using input( ) method is not a number and is a string

Syntax: variable = input(<Message to be displayed>)

>>>x = input ("Enter a Number")


>>>Enter a Number10

In the above case the value 10 inputted is assumed as string. Hence type of x is string

To input as a number it is to be appropriately converted into desired data type, like below

>>> a=int(input("Enter a Number"))


Enter a Number10

>>> print(a+2)
12
7

Output: The print( ) function is used for output to standard output device, monitor.
Syntax: print(object1, [object2, object3, ....., sep=' ' or seperator_string, end=' ' or end_string])
Example Command Output
1 print("Informatics Practices") Informatics Practices

2 print("Sum of 2 and 3 is", 2+3) Sum of 2 and 3 is 5


a=2
3 b=3 Sum of 2 and 3 is 5
print("Sum of", a, "and", b, "is", a+b)
a=2
4 b=3 Sum of$2$and$3$is$5
print("Sum of",a,"and",b,"is",a+b, sep='$')
a=2
5 b=3 Sum of 2 and 3 is 5*
print("Sum of",a,"and",b,"is",a+b, end='*')
DATA TYPES:
A data type represents the type of data like character, integer, real, string etc. Different types of data
types in Python are,

Numbers: Number data type stores numerical values. This data type is immutable, mean that the value of its
object cannot be changed. These are of three different types

Integers: Integers are the whole numbers like 100000, –99, 0, 17 etc. They have no decimal point. Integers can
be positive or negative. If an integer has no sign, then it is positive. There are two types of Integers
int: While writing an integer value, commas must not be used to separate digits. Also integers should not
have leading zeros. The data type int can store any integer, either big or small.

bool: These represent the truth values False and True, that resembles integers 0 and 1 respectively. The
bool( ) function returns the boolean equivalent digit.
>>> bool(1)
True
>>> bool(0)
False

Floating Point Numbers: Numbers with fractions or decimal point are called floating point numbers. A
floating point number will consist of sign (+,–) sequence of decimals digits and a dot such as 0.0, –21.9,
0.98333328, 15.2963. These numbers can be written in two forms
(i) Fractional Form Examples 3500.75, 0.00005, 147.9101 etc
(ii) Exponent Form Examples 3.50075E03, 0.5E–04, 1.479101E02 etc
The advantage of floating point numbers over integers are, they can represent values between integers
and can be used to represent much greater range of values
Complex Numbers: Complex number in python is made up of two floating point values, one each for real and
imaginary part. For accessing different parts of variable (object) x; we will use x.real and x.imag. Imaginary part
of the number is represented by „j‟ instead of „i‟, so 1+0j denotes zero imaginary part.
>>> c=2–3j
>>> c.real
2.0
>>> c.imag
–3.0

None: This is special data type with single value. It is used to signify the absence of value/false in a situation. It
is represented by None. It is used to define a null value, or no value at all. None is not the same as 0, False, or
an empty string.
>>> x=None
>>> print(x)
None

Sequence: A sequence is an ordered collection of items, indexed by positive integers. It is combination of


mutable and immutable data types. Three types of sequence data type available in Python are Strings, Lists &
Tuples.

String: is an ordered sequence of letters/characters. They are enclosed in single quotes (' ') or double ("
"). The quotes are not part of string. They only tell the computer where the string constant begins and
ends. They can have any character or sign, including space in them. These are immutable data types.

Example
>>> a = 'Ram'

Every string is a sequence of characters. Every character in a string has an index and the character can be
accessed using its index
Ex:
Index 0 1 2 3 4 5
String P Y T H O N
Index –6 –5 –4 –3 –2 –1

Every character has two indexes like above and can be accessed using either of the two indexes
>>> name="PYTHON"
>>> print(name[2])
T
>>> print(name[–4])
T

It is possible to change one type of value/variable to another type. It is known as type conversion or type
casting. The conversion can be done explicitly (programmer specifies the conversions) or implicitly
(Interpreter automatically converts the data type).

For explicit type casting, we use functions (constructors): int( ), float( ), str( ), bool( )
Example1 Example2
>>> a= 12.34 >>>a=25
>>> b= int(a) >>>y=float(a)
>>> print (b) >>>print (y)
12 25.0

Lists: List is also a sequence of values of any type. Values in the list are called elements / items. These
are mutable and indexed/ordered. List is enclosed in square brackets.
Example: lt = ['spam', 20.5,5]
Tuples: Tuples are a sequence of values of any type, and are indexed by integers. They are immutable.
Tuples are enclosed in ( ).
Example: >>> T=10, 20, 30, 40
>>> print (T)
(10, 20, 30, 40)
Sets: Set is an unordered collection of values, of any type, with no duplicate entry. Sets are mutable. Duplicate
values given, if any, will be considered only once. Set elements cannot be accessed individually.
Example: s = set ([1,2,3,4])
Mapping: This data type is unordered and mutable. Dictionaries fall under Mappings.
Dictionaries: These can store any number of python objects. What they store is a key – value pairs, which
are accessed using key. Dictionary is enclosed in curly brackets.
Example: d = {1:'a',2:'b',3:'c'}

MUTABLE AND IMMUTABLE TYPES:


Immutable Types: The immutable types are those that can never change their value in place. Integers,
Floating Point Numbers, Booleans, Strings and Tuples are immutable types
Mutable Types: The mutable types are those that can change their value in place. Lists, Dictionaries and Sets
are mutable types

VARIABLE INTERNALS:

The data or values are referred to as object. Similarly, a variable is also an object that refer to a value.
Every object has three key attributes associated to it. These are,
(i) type of object: The data type of a constant or variable can be displayed using type( ) statement with the
required argument

Ex: >>> type(11) Ex: >>> t=10,20,30,40


<class 'int'> >>> type(t)
>>> type(12.5) <class 'tuple'>
<class 'float'> >>> lt=['Spam',20.5,5]
>>> type(2+3j) >>> type(lt)
<class 'complex'> <class 'list'>
>>> type('Vidyalaya') >>> s=set([1,2,3,4])
<class 'str'> >>> type(s)
<class 'set'>
(ii) value of object: The print( ) can be used to print the value of an object like a variable or constant
Ex: >>> a=4
>>> print(a)
4
>>> print(4+2j)
(4+2j)
(iii) id of an object: The id of an object is the memory location of it. The function id( ) is used for this purpose
Ex: >>> x=10
>>> id(x)
1722770752
>>> y=20
>>> id(y)
1722770912
>>> z=10
>>> id(z)
1722770752
10

OPERATORS AND OPERANDS:


 Operators are special symbols which represents computation.
 They are applied on operand(s), which can be values or variables.
 Same operator can behave differently on different data types.
 Operators when applied on operands form an expression.
 Operators are categorized as Arithmetic, Relational, Logical and Assignment.
 Values/Literals and variables when used with operator are known as operands.

Arithmetic or Mathematical Operators:

Symbol Description Example 1 Example 2


>>>55+45 >>>'Good'+'Morning'
+ Addition
100 GoodMorning
>>>55–45 >>>30–80
– Subtraction
10 –50
>>>55*45 >>>'Good'*3
* Multiplication
2475 GoodGoodGood
>>>17/5 >>>28/3
3.4 9.33
>>>17/5.0
/ Division
3.4
>>>17.0/5
3.4
Remainder / >>>17%5 >>>23%2
%
Modulo Division 2 1
>>>2**3 >>>2**8
8 256
** Exponentiation
>>>16**.5
4.0
Integer Division (or) >>>7.0//2 >>>3//2
//
Floor Division 3.0 1

Relational Operators:

Symbol Description Example 1 Example 2


>>>7<10
True
>>>7<5 >>>'Hello'<'Goodbye'
False False
< Less Than
>>>7<10<15 >>>'Goodbye'<'Hello'
True True
>>>7<10 and 10<15
True
>>>7>5 >>>'Hello'>'Goodbye'
True True
> Greater Than
>>>10>10 >>>'Goodbye'>'Hello'
False False
>>>2<=5 >>>'Hello'<='Goodbye'
True False
<= Less Than or Equal To
>>>7<=4 >>>'Goodbye'<='Hello'
False True
11

Symbol Description Example 1 Example 2


>>>10>=10 >>>'Hello'>='Goodbye'
True True
>= Greater Than or Equal To
>>>10>=12 >>>'Goodbye'>='Hello'
False False
>>>10!=11 >>>'Hello'!='HELLO'
True True
!= Not Equal To
>>>10!=10 >>>'Hello'!='Hello'
False False
>>>10==10 >>>'Hello'=='Hello'
True True
== Equal To
>>>10==11 >>>'Hello'=='Goodbye'
False False

Logical Operators:

Symbol Description

and If any one of the operand is true, then the condition becomes true

or If both the operands are true, then the condition becomes true

not Reverses the state of operand/condition

Truth Tables for Logical Operators:

A B A and B A or B not A
True True True True False
True False False True False
False True False True True
False False False False True

Assignment Operators:

Symbol Description Example Explanation


Assigns value from right side operand to left side >>>x=12
=
variable >>>y='greetings'
Means x=x+2
+= Add and assign the result to left side variable >>>x+=2
x becomes 14
Means x=x–2
–= Subtract and assign the result to left side variable >>>x–=2
x becomes 10
Means x=x*2
*= Multiply and assign the result to left side variable >>>x*=2
x becomes 24
Means x=x/2
/= Divide and assign the result to left side variable >>>x/=2
x becomes 6
Modulo Divide and assign result to left side Means x=x%2
%= >>>x%=2
variable x becomes 0
Performs exponential calculation and assign result Means x=x**2
**= >>>x**=2
to left side variable x becomes 144
Performs floor division on operators and assign Means x=x//2
//= >>>x//=2
result to left side variable x becomes 6
12

Identity Operators:

Symbol Description Example Explanation


>>> x=10 Here, the operands x and z
Returns True only if both the >>> y=20 are pointing to the same
is operands a and b are pointing to the >>> z=10 object 10, hence resulted in
same object, returns False otherwise >>> x is z True where as x and z are
True pointing to different
>>> x is y objects, hence resulted in
Returns True if both the operands a
False false
is not and b are pointing to different
objects, returns False otherwise

Membership Operators:

Symbol Description Example


>>> numSeq = [1,2,3]
>>> 2 in numSeq
True
Returns True if the variable or value is found >>> '1' in numSeq
in
in the specified sequence and False otherwise False

#'1' is a string while numSeq contains


number 1.
>>> numSeq = [1,2,3]
Returns True if the variable/value is not >>> 10 not in numSeq
not in found in the specified sequence and False True
otherwise >>> 1 not in numSeq
False

EXPRESSIONS:

An expression is a combination of literals, operators and variables. In Python, an expression may be an


arithmetic expression, string expression, relational expression, logical expression, compound expression etc.

1. Arithmetic Expressions: These expressions involve numbers (integers, floating point numbers,
complex numbers) and arithmetic operators
Ex: 2+8/3, 5.6–4.2/8*1.2

2. Relational Expressions: An expression having literals and/or variables of any valid type and relational
operators is a relational expression
Ex: x>y, y<=z, z<>x, z==q, x<y>, x==y<>z

3. Logical Expressions: An expression having literals and/or variables of any valid type and logical
operators is a logical expression.
Ex: a or b, b and c, a and not b, not c or not b

4. String Expressions: An expression that have string operands and results to string are string expression.
Ex: "Pine"+"Apple", "Hello"*3

Precedence of Operators: While evaluating an expression the precedence of operators will be like below. It
gives the order of evaluation of operators in an expression. However the precedence can be changed by using
parenthesis
13

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy