A variable is a location in memory used to store some data (value). They are given unique names to differentiate between different memory locations. The rules for writing a variable name is same as the rules for writing identifiers in Python. We don’t need to declare a variable before using it. In Python, we simply assign a value to a variable and it will exist. We don’t even have to declare the type of the variable. This is handled internally according to the type of value we assign to the variable.
Variable assignment
We use the assignment operator (=) to assign values to a variable. Any type of value can be assigned to any valid variable.
Multiple assignments
In Python, multiple assignments can be made in a single statement as follows:
a, b, c = 5, 3.2, "Hello"
If we want to assign the same value to multiple variables at once, we can do this as
x = y = z = "same"
This assigns the “same” string to all the three variables.
Data types in Python
Every value in Python has a datatype. Since everything is an object in Python programming, data types are actually classes and variables are instance (object) of these classes. There are various data types in Python.
Python Numbers
Integers, floating point numbers and complex numbers falls under Python numbers category. They are defined as int, float and complex class in Python. We can use the type() function to know which class a variable or a value belongs to and the isinstance() function to check if an object belongs to a particular class.
a = 5 print(a, "is of type", type(a)) a = 2.0
print(a, "is of type", type(a)) a = 1+2j
print(a, "is complex number?", isinstance(1+2j,complex))
output
5 is of type 2.0 is of type (1+2j) is complex number? True
Integers can be of any length, it is only limited by the memory available. A floating point number is accurate up to 15 decimal places. Integer and floating points are separated by decimal points. 1 is integer, 1.0 is floating point number. Complex numbers are written in the form, x + yj, where x is the real part and y is the imaginary part. Here are some examples.
>>> a = 1234567890123456789
>>> a 1234567890123456789
>>> b = 0.1234567890123456789
>>> b 0.12345678901234568
>>> c = 1+2j
>>> c (1+2j)
Notice that the float variable b got truncated.
Python List
List is an ordered sequence of items. It is one of the most used datatype in Python and is very flexible. All the items in a list do not need to be of the same type. Declaring a list is pretty straight forward. Items separated by commas are enclosed within brackets [ ].
>>> a = [1, 2.2, ‘python’]
We can use the slicing operator [ ] to extract an item or a range of items from a list. Index starts form 0 in Python.
a = [5,10,15,20,25,30,35,40] # a[2] = 15 print("a[2] = ", a[2]) # a[0:3] = [5, 10, 15] print("a[0:3] = ", a[0:3]) # a[5:] = [30, 35, 40] print("a[5:] = ", a[5:])
output
a[2] = 15 a[0:3] = [5, 10, 15] a[5:] = [30, 35, 40]
Lists are mutable, meaning, value of elements of a list can be altered.
Python Tuple
Tuple is an ordered sequence of items same as list.The only difference is that tuples are immutable. Tuples once created cannot be modified. Tuples are used to write-protect data and are usually faster than list as it cannot change dynamically. It is defined within parentheses () where items are separated by commas. We can use the slicing operator [] to extract items but we cannot change its value.
Python Strings
String is sequence of Unicode characters. We can use single quotes or double quotes to represent strings. Multi-line strings can be denoted using triple quotes, ”’ or “””.
Like list and tuple, slicing operator [ ] can be used with string. Strings are immutable.
Python Set
Set is an unordered collection of unique items. Set is defined by values separated by comma inside braces { }. Items in a set are not ordered.
We can perform set operations like union, intersection on two sets. Set have unique values. They eliminate duplicates.
Since, set are unordered collection, indexing has no meaning. Hence the slicing operator [] does not work.
Python Dictionary
Dictionary is an unordered collection of key-value pairs. It is generally used when we have a huge amount of data. Dictionaries are optimized for retrieving data. We must know the key to retrieve the value. In Python, dictionaries are defined within braces {} with each item being a pair in the form key:value. Key and value can be of any type.
We use key to retrieve the respective value. But not the other way around.
Conversion between data types
We can convert between different data types by using different type conversion functions like int(), float(), str() etc.
Conversion from float to int will truncate the value (make it closer to zero).
Conversion to and from string must contain compatible values. We can even convert one sequence to another. To convert to dictionary, each element must be a pair