Unit-1-1 Python
Unit-1-1 Python
• Simple
• Easy to Learn
• Versatile
• Free and Open Source
• High-level Language
• Interactive
• Portable
• Object Oriented
• Interpreted
• Dynamic
• Extensible
• Embeddable
• Extensive
• Easy maintenance
• Secure
• Robust
• Multi-threaded
• Garbage Collection
Limitations of Python
Parallel processing can be done in Python but not as elegantly as done in some other languages (like
JavaScript and Go Lang).
• Being an interpreted language, Python is slow as compared to C/C++. Python is not a very good choice
for those developing a high-graphic 3d game that takes up a lot of CPU.
• As compared to other languages, Python is evolving continuously and there is little substantial
documentation available for the language.
• As of now, there are few users of Python as compared to those using C, C++ or Java.
• It lacks true multiprocessor support.
• It has very limited commercial support point.
• Python is slower than C or C++ when it comes to computation heavy tasks and desktop applications.
• It is difficult to pack up a big Python application into a single executable file. This makes it difficult to
distribute Python to non-technical.
Applications of Python
• Embedded scripting language: Python is used as an embedded scripting language for various testing/
building/ deployment/ monitoring frameworks, scientific apps, and quick scripts.
• 3D Software: 3D software like Maya uses Python for automating small user tasks, or for doing more
complex integration such as talking to databases and asset management systems.
• Web development: Python is an easily extensible language that provides good integration with
database and other web standards.
GUI-based desktop applications: Simple syntax, modular architecture, rich text processing tools and the
ability to work on multiple operating systems makes Python a preferred choice for developing desktop-
based applications.
• Image processing and graphic design applications: Python is used to make 2D imaging software such as
Inkscape, GIMP, Paint Shop Pro and Scribus. It is also used to make 3D animation packages, like Blender,
3ds Max, Cinema 4D, Houdini, Lightwave and Maya.
>Scientific and computational applications: Features like high speed, productivity and availability of
tools, such as Scientific Python and Numeric Python, have made Python a preferred language to perform
computation and processing of scientific data. 3D modeling software, such as FreeCAD, and finite
element method software, like Abaqus, are coded in Python.
Games: Python has various modules, libraries, and platforms that support development of games.
Games like Civilization-IV, Disney's Toontown Online, Vega Strike, etc. are coded using Python.
• Enterprise and business applications: Simple and reliable syntax, modules and libraries, extensibility,
scalability together make Python a suitable coding language for customizing larger applications. For
example, Reddit which was originally written in Common Lips, was rewritten in Python in 2005. A large
part of Youtube code is also written in Python.
• Operating Systems: Python forms an integral part of Linux distributions.
Comments
Comments are the non-executable statements in a program. They are just added to describe the
statements in the program code. Comments make the program easily readable and understandable by
the programmer as well as other users who are seeing the code. The interpreter simply ignores the
comments.
In Python, a hash sign (#) that is not inside a string literal begins a comment. All characters following the
# and up to the end of the line are part of the comment
Literal Constants or Standard data types
Number
The value of a literal constant can be used directly in programs. For example, 7, 3.9, 'A', and "Hello" are
literal constants.
Numbers refers to a numeric value. You can use four types of numbers in Python program- integers,
long integers, floating point and complex numbers.
• Numbers like 5 or other whole numbers are referred to as integers. Bigger whole numbers are called
long integers. For example, 535633629843L is a long integer.
• Numbers like are 3.23 and 91.5E-2 are termed as floating point numbers.
• Numbers of a + bi form (like -3 + 7i) are complex numbers.
Strings
A string is a group of characters.
• Using Single Quotes ('): For example, a string can be written as 'HELLO'.
• Using Double Quotes ("): Strings in double quotes are exactly same as those in single quotes.
Therefore, 'HELLO' is same as "HELLO".
• Using Triple Quotes (''' '''): You can specify multi-line strings using triple quotes. You can use as many
single quotes and double quotes as you want in a string within triple quotes.
Escape Sequences
Some characters (like ", \) cannot be directly included in a string. Such characters must be escaped by
placing a backslash before them.
Raw Strings
If you want to specify a string that should not handle any escape sequences and want to display exactly
as specified then you need to specify that string as a raw string. A raw string is specified by prefixing r or
R to the string.
Input Operation
To take input from the users, Python makes use of the input() function. The input() function prompts the
user to provide some information on which the program can work and give the result. However, we
must always remember that the input function takes user’s input as a string.
Indentation
Whitespace at the beginning of the line is called indentation. These whitespaces or the indentation are
very important in Python. In a Python program, the leading whitespace including spaces and tabs at the
beginning of the logical line determines the indentation level of that logical line.
Arithmetic Operators
Comparison Operators
Unary Operators
Unary operators act on single operands. Python supports unary minus operator. Unary minus operator is
strikingly different from the arithmetic operator that operates on two operands and subtracts the
second operand from the first operand. When an operand is preceded by a minus sign, the unary
operator negates its value.
For example, if a number is positive, it becomes negative when preceded with a unary minus operator.
Similarly, if the number is negative, it becomes positive after applying the unary minus operator.
Consider the given example.
b = 10 a = -(b)
The result of this expression, is a = -10, because variable b has a positive value. After applying unary
minus operator (-) on the operand b, the value becomes -10, which indicates it as a negative value.
Bitwise Operators
As the name suggests, bitwise operators perform operations at the bit level. These operators include
bitwise AND, bitwise OR, bitwise XOR, and shift operators. Bitwise operators expect their operands to be
of integers and treat them as a sequence of bits.
The truth tables of these bitwise operators are given below.
Shift Operators
Python supports two bitwise shift operators. They are shift left (<<) and shift right (>>). These operations
are used to shift bits to the left or to the right. The syntax for a shift operation can be given as follows:
Logical Operators
Logical AND (&&) operator is used to simultaneously evaluate two conditions or expressions with
relational operators. If expressions on both the sides (left and right side) of the logical operator are true,
then the whole expression is true. For example, If we have an expression (a>b) && (b>c), then the whole
expression is true only if both expressions are true. That is, if b is greater than a and c.
Logical OR (||) operator is used to simultaneously evaluate two conditions or expressions with relational
operators. If one or both the expressions of the logical operator is true, then the whole expression is
true. For example, If we have an expression (a>b) || (b>c), then the whole expression is true if either b is
greater than a or b is greater than c.
Logical not (!) operator takes a single expression and negates the value of the expression. Logical NOT
produces a zero if the expression evaluates to a non-zero value and produces a 1 if the expression
produces a zero. In other words, it just reverses the value of the expression. For example, a = 10, b b = !
a; Now, the value of b = 0. The value of a is not zero, therefore, !a = 0. The value of !a is assigned to b,
hence, the result.
Expressions
An expression is any legal combination of symbols (like variables, constants and operators) that
represents a value. In Python, an expression must have at least one operand (variable or constant) and
can have one or more operators. On evaluating an expression, we get a value. Operand is the value on
which operator is applied.
Constant Expressions: One that involves only constants. Example: 8 + 9 – 2
Integral Expressions: One that produces an integer result after evaluating the expression. Example:
a = 10
• Floating Point Expressions: One that produces floating point results. Example: a * b / 2
• Relational Expressions: One that returns either true or false value. Example: c = a>b
• Logical Expressions: One that combines two or more relational expressions and returns a value as True
or False. Example: a>b && y! = 0
• Bitwise Expressions: One that manipulates data at bit level. Example: x = y&z
• Assignment Expressions: One that assigns a value to a variable. Example: c = a + b or c = 10
Operations on Strings
Type Conversion
In Python, it is just not possible to complete certain operations that involve different types of data. For
example, it is not possible to perform "2" + 4 since one operand is an integer and the other is of string
type.
Type Casting vs Type Coercion
In the last slide, we have done explicit conversion of a value from one data type to another. This is
known as type casting.
However, in most of the programming languages including Python, there is an implicit conversion of
data types either during compilation or during run-time. This is also known type coercion. For example,
in an expression that has integer and floating point numbers (like 21 + 2.1 gives 23.1), the compiler will
automatically convert the integer into floating point number so that fractional part is not lost.