Python 3 Variable Usage and Variable Types
Python is completely object oriented, and not “statically typed”. You do not need to declare variables before using them, or declare their type. Every variable in Python is an object.
Based on the data type of a variable, the interpreter allocates memory and decides what can be stored in the reserved memory. Therefore, by assigning different data types to the variables, you can store integers, decimals or characters in these variables.
This tutorial will show you how to use variables in Python and go over a few basic types of variables.
Variable Assignment
Think of a variable as a name attached to a particular object. In Python, variables need not be declared or defined in advance, as is the case in many other programming languages. To create a variable, you just assign it a value and then start using it. The operand to the left of the = operator is the name of the variable and the operand to the right of the = operator is the value stored in the variable. For example:
#!/usr/bin/python3
counter = 200 # An integer assignment
miles = 2000.0 # A floating point
name = "Jack" # A string
print (counter)
print (miles)
print (name)
Here, 200, 2000.0 and “Jack” are the values assigned to counter, miles, and name variables, respectively. This produces the following result:
200
2000.0
Jack
Python also allows chained assignment, which makes it possible to assign the same value to several variables simultaneously:
>>> a = b = c = 300
>>> print(a, b, c)
300 300 300
The chained assignment above assigns 300
to the variables a
, b
, and c
simultaneously.
Standard Variable Types in Python
The data stored in memory can be of many types. For example, a person’s age is stored as a numeric value and his or her address is stored as alphanumeric characters. Python has various standard variable types that are used to define the operations possible on them and the storage method for each of them.
Python has five standard variable types:
- Numbers
- String
- List
- Tuple
- Dictionary
Python Numbers
Python supports three different numerical types:
- int (signed integers)
- float (floating point real values)
- complex (complex numbers)
To define an integer, use the following syntax:
myint = 7
print(myint)
To define a floating point number, you may use one of the following notations:
myfloat = 7.0
print(myfloat)
myfloat = float(7)
print(myfloat)
A complex number consists of an ordered pair of real floating-point numbers denoted by x + yj
, where x
and y
are real numbers and j
is the imaginary unit.
For more details, please refer to the Number section.
Python Strings
Strings are defined either with a single quote or a double quotes:
mystring = 'hello'
print(mystring)
mystring = "hello"
print(mystring)
The difference between the two is that using double quotes makes it easy to include apostrophes (whereas these would terminate the string if using single quotes)
mystring = "Don't worry about apostrophes"
print(mystring)
Subsets of strings can be taken using the slice operator ([ ]
and [:]
) with indexes starting at 0 in the beginning of the string and working their way from -1 to the end. The plus (+
) sign is the string concatenation operator and the asterisk (*
) is the repetition operator. For example:
#!/usr/bin/python3
str = 'Hello World!'
print (str) # Prints complete string
print (str[0]) # Prints first character of the string
print (str[2:5]) # Prints characters starting from 3rd to 5th
print (str[2:]) # Prints string starting from 3rd character
print (str * 2) # Prints string two times
print (str + "TEST") # Prints concatenated string
The result wll be as follows:
Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST
For more details, please refer to the String section.
Python Lists
A list is a data structure in Python that is a mutable, or changeable, ordered sequence of elements. Each element or value that is inside of a list is called an item. Just as strings are defined as characters between quotes, lists are defined by having values between square brackets [ ]
.
The values stored in a list can be accessed using the slice operator ([ ]
and [:]
) with indexes starting at 0 in the beginning of the list and working their way to end -1. The plus (+
) sign is the list concatenation operator, and the asterisk (*
) is the repetition operator. For example:
#!/usr/bin/python3
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print (list) # Prints complete list
print (list[0]) # Prints first element of the list
print (list[1:3]) # Prints elements starting from 2nd till 3rd
print (list[2:]) # Prints elements starting from 3rd element
print (tinylist * 2) # Prints list two times
print (list + tinylist) # Prints concatenated lists
The result wll be as follows:
['abcd', 786, 2.23, 'john', 70.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']
For more details, please refer to the List section.
Python Tuples
A tuple is another sequence data type that is similar to the list. A tuple consists of a number of values separated by commas. Unlike lists, however, tuples are enclosed within parenthesis.
The main difference between lists and tuples are – Lists are enclosed in brackets ( [ ]
) and their elements and size can be changed, while tuples are enclosed in parentheses ( ( )
) and cannot be updated. Tuples can be thought of as read-only lists. For example:
#!/usr/bin/python3
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print (tuple) # Prints complete tuple
print (tuple[0]) # Prints first element of the tuple
print (tuple[1:3]) # Prints elements starting from 2nd till 3rd
print (tuple[2:]) # Prints elements starting from 3rd element
print (tinytuple * 2) # Prints tuple two times
print (tuple + tinytuple) # Prints concatenated tuple
The result wll be as follows:
('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')
The following code is invalid with tuple, because we attempted to update a tuple, which is not allowed. Similar case is possible with lists:
#!/usr/bin/python3
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000 # Invalid syntax with tuple
list[2] = 1000 # Valid syntax with list
For more details, please refer to the Tuple section.
Python Dictionary
Python dictionary is an unordered collection of items. While other compound data types have only value as an element, a dictionary has a key: value pair. A dictionary key can be almost any Python type, but are usually numbers or strings. Values, on the other hand, can be any arbitrary Python object.
Dictionaries are enclosed by curly braces ({ }
) and values can be assigned and accessed using square braces ([]
). For example:
#!/usr/bin/python3
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print (dict['one']) # Prints value for 'one' key
print (dict[2]) # Prints value for 2 key
print (tinydict) # Prints complete dictionary
print (tinydict.keys()) # Prints all the keys
print (tinydict.values()) # Prints all the values
The result wll be as follows:
This is one
This is two
{'name': 'john', 'dept': 'sales', 'code': 6734}
dict_keys(['name', 'dept', 'code'])
dict_values(['john', 'sales', 6734])
Dictionaries have no concept of order among the elements. It is incorrect to say that the elements are “out of order”; they are simply unordered.
For more details, please refer to the Dictionary section.