A data type or
simply type is a classification identifying one of various
types of data, such as real, integer or Boolean, that determines the possible
values for that type; the operations that can be done on values of that type;
the meaning of the data; and the way values of that type can be stored
Data Types in Python can be
classified into
- Simple types -- The basic building
blocks, like int and float
- Container types -- Hold other objects like
List, Tuple, Set
- Code types -- Encapsulate the elements
of your Python program
- Internal types -- Used during program
execution
Simple Types – We will start
with the Simple Types that are available in Python. Simple types in Python are
Bool
Int
Long
Float
Complex
Before Starting to understand
the Simple types in Python , there are 2 functions available in python which
will help to identify the Python types. They are
Id() - find the memory location allocated for the
variable
Type() – Find the type of the
variable
These 2 will be used in finding
many while working with the Data Types in Python
Boolean – python bool type holds
either True or False. Python Bool
provides only 2 objects : True and False. Many programs utilize the Boolean
expressions which result in True or False
>>> b = True
>>> id(b)
47707397625616
>>> type(b)
<type 'bool'>
>>> bb = True
>>> id(bb)
47707397625616
If we check the above snippet,
we can see that when both “b” and “bb” are assigned to True, both points to
same memory location.
Boolean Operators are used in
many areas of Python as
The Boolean comparison
operators in Python
Operator
|
Description
|
Example
|
<
|
less than
|
i < 100
|
<=
|
less than or equal to
|
i <= 100
|
>
|
greater than
|
i > 100
|
>=
|
greater than or equal to
|
i >= 100
|
==
|
equality
|
i == 100
|
!=
|
inequality (also <>)
|
i != 100
|
Below are list of the Logical
Operators in Python
Operator
|
Description
|
Example
|
not
|
logical negation
|
not b
|
and
|
logical and
|
(i <= 100) and (b == True)
|
or
|
logical or
|
(i < 100) or (f >
100.1)
|
Numeric Types
-int, long, float, and complex are the numeric types available
in Python. Python provides full support for arithmetic operations, including
addition, subtraction, multiplication, and division
How much Memory a Numeric Data
Type use?
Unlike java and other language
where there are limitations to the types defines, there are none in Python.
They are based on the platform. So an int in python is a 32bit so the holding
values may range from -2(32) to 2(32)-1. But when you go to the long values it
had a unlimited prevision based on the memory limitations of the platform. An
Integer can be saved as int and float in a python . in order to treat a integer
as an long we need to add L at the end of the value as 100L
Python provides support for
octal (base 8) and hexadecimal (base 16) numbers. To tell Python that a number
should be treated as an octal numeric literal, simply append a zero to the
front. Appending a zero and an x to the front of a number tells Python to treat
the number as a hexadecimal numeric literal,
>>> print 127
127
>>> print 0127
87
>>> print 0x12
18
complex type - a complex number has
a real and an imaginary component, both represented by float types in
Python. An imaginary number is a multiple of the square root
of minus one, which is denoted by ior j
>>>
print c
(3+1.2j)
>>>
print c.real,c.imag
3.0
1.2
No Primitive Types in Python, Just Objects
One very important thing to
keep in mind is that there are no primitive types in Python. All are objects in
Python.
Consider the Simple Type “int”
above. Int in Python is not a Primitive type it’s a full-fledged Object with
its own methods and classed.
So as in java we don’t have int
I =10 , where a memory location is created with a int primitive type . So when
we use I = 10 , a Python will create a Python object with a memory allocated to
that with value I.
One more thing to keep in mind
is that these simple built-in types are immutable, which means you can't change
an object's value after the object has been created. If a new value is needed,
you must create a new object
>>> i = 10
>>> id(i)
7240752
>>> i =100
>>> id(i)
7242576
But if we create a new object for every value change, what
happens to the old one?
We may at this point think that
what will happen to the old one when left alone and that can cause Memory
leaks.
Like java and other high level
language, Python also use Garbage Collector that frees up memory used to hold
objects that are no longer referenced like the above one.
Are they really are Objects?
As we already discussed that
every thing in Python is an Object but the example discussed above does not
have any Objects declarations. For the Simple data types , Python does a lot of
work for you like creating an Object etc. Every Simple Data type does contain a
Object Constructor that are identical to the name of the relevant data type.
We can use
>>> b = bool (True)
>>> print b
True
>>> i =int(10)
>>> print i
10
Similarly with other Simple
Types we have the Constructors available that can be used in initializing like,
>>> l = long(100)
>>> f = float(100.1)
>>> c = complex(3.0,
1.2)
Deletion of Variable
Python provides a feature which
is not available in many high level languages called “del”.
Using this we can delete a
reference to a number object.
The syntax of the del statement is −
del
var1[,var2[,var3[....,varN]]]]
You can delete a single object
or multiple objects by using the del statement. For example −
del var
No comments :
Post a Comment