Python Programming (138 Blogs) Become a Certified Professional
AWS Global Infrastructure

Data Science

Topics Covered
  • Business Analytics with R (26 Blogs)
  • Data Science (21 Blogs)
  • Mastering Python (81 Blogs)
  • Decision Tree Modeling Using R (1 Blogs)

What Are Python Data Types and Variables?

Last updated on Aug 14,2023 44.8K Views

Python programming language is one of the most sought out programming languages nowadays. Developers want to focus on the implementation part rather than spending time writing complex programs. This is where python actually delivers, with the ease of access and readability. Fundamental concepts are the foundation of any programming language and hence in this blog we will learn the concept of Python variables and Python Data types. Following are the topics covered in this blog: 

Gain expertise in scripting in Python and prepare yourself to take up Python job opportunities with Edureka’s Python Online Course Training, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe.

What Are Variables In Python?

Variables and data types in python as the name suggests are the values that vary. In a programming language, a variable is a memory location where you store a value. The value that you have stored may change in the future according to the specifications.

variables-variables and data types in python-edureka

A Python Variable is created as soon as a value is assigned to it. It does not need any additional commands to declare a variable in python.

There are a certain rules and regulations we have to follow while writing a variable, lets take a look at the variable definition and declaration to understand how we declare a variable in python.

Variable Definition & Declaration

Python has no additional commands to declare a variable. As soon as the value is assigned to it, the variable is declared.

x = 10
#variable is declared as the value 10 is assigned to it.

There are a certain rules that we have to keep in mind while declaring a variable:

  1. The variable name cannot start with a number. It can only start with a character or an underscore.
  2. Variables in python are case sensitive.
  3. They can only contain alpha-numeric characters and underscores.
  4. No special characters are allowed.

There are several data types in python. Lets take a look at the python data types.

Every value that we declare in python has a data type. Data types are classes and variables are the instances of these classes.

Data Types In Python

According to the properties they possess, there are mainly six python data types. Although there is one more data type range which is often used while working with loops in python.

types of data types-variables and data types in python-edureka

Numerical Data Types in Python

Numerical data type holds numerical value. In numerical data there are 4 sub types as well. Following are the sub-types of numerical data type: 

  1. Integers
  2. Float
  3. Complex Numbers
  4. Boolean

Integers are used to represent whole number values.

x = 100
y = 124
# it will be the integer as long as the value is a whole number.

To check the type of any variable data type, we can use the type() function. It will return the type of the mentioned variable data type.

Float data type is used to represent decimal point values.

x  = 10.25
y = 12.30

Complex numbers are used to represent imaginary values. Imaginary values are denoted with ‘j’ at the end of the number.

x = 10 + 5j

Boolean is used for categorical output, since the output of boolean is either true or false.

num = 5 > 4
#num is the boolean variable
#the output will be bool
#this will print true.


Strings in python are used to represent unicode character values. Python does not have a character data type, a single character is also considered as a string.

We denote or declare the string values inside single quotes or double quotes. To access the values in a string, we use the indexes and square brackets.

indexes-variables and data types in python-edureka

name = 'edureka'
#this will give you the output as 'u'

Strings are immutable in nature, which means you cannot change a string once replaced. 

Command line input for strings

x = input()
print( 'hello' , x)

Operations using strings

name = 'edureka'
#this will make the letters to uppercase
#this will make the letters to lowercase
name.replace('e') = 'E'
#this will replace the letter 'e' with 'E'
name[1: 4]
#this will return the strings starting at index 1 until the index 4.

Now that we have understood numbers and strings, lets understand the relatively complex data types.


List is one of the four collection data type that we have in python. When we are choosing a collection type, it is important to understand the functionality and limitations of the collection. Tuple, set and dictionary are the other collection data type of python.

A list is ordered and changeable, unlike strings. We can add duplicate values as well. To declare a list we use the square brackets.

mylist = [10,20,30,40,20,30, 'edureka']

Accessing values from a list

We use indexes to access values from a string.


#this will get the values from index 2 until index 6.

Adding/Replacing values in a list

mylist[6] = 'python'

#this will replace the value at the index 6.


#this will add the value at the end of the list.

mylist.insert(5, 'data science')

#this will add the value at the index 5.

Other operations that we can perform on a list are following:

                  Method Name                                 Property     
clear()removes all the elements from the list
copy()returns a copy of the list
extend()add the elements of the list to the end of the current list
count()returns the number of elements of the specified value
index()returns the index of the element
  pop()removes the element from the specified position
remove()removes the item with the specified value
sort()sorts the list
reverse()returns the reversed list

Lists can store any data type as items. Be it numbers, strings or any other data type as well.

a = [10,20,30]

b = [60 , 50 , 40, a]

#to access a value from the list a we can write


#this will return 30 as output.

Lets understand the next collection data type in python i.e tuples.


Tuple is a collection which is unchangeable or immutable. It is ordered and the values can be accessed using the index values. A tuple can have duplicate values as well. To declare a tuple we use the round brackets.

mytuple = (10,10,20,30,40,50)

#to count the number of elements


#the output will be 2

#to find the index


#the output will be 5. since the index number at 50 is 5.

Since a tuple is unchangeable once you have declared it, there are not many operations you can perform on a tuple. But there is a bright side to using a tuple, you can store values in a tuple which you do not want to change while working in a project. Although you will be able to access the values, but there will not be any changes to be made.


A set is a collection which is unordered,  it does not have any indexes as well. To declare a set in python we use the curly brackets.

myset = {10, 20 , 30 ,40, 50, 50}

A set does not have any duplicate values, even though it will not show any errors while declaring the set, the output will only have the distinct values.

To access the values in a set we can either loop through the set, or use a membership operator to find a particular value.

for x in myset:
#this will get all the values.
20 in myset
#this will  return true if the value is in the set.
#to add a value in a set
#to add multiple values in a list
myset.update([ 10, 20, 30, 40, 50])
#to remove an item from a set
#we can use the discard or pop method to remove an item from a set as well.
myset = {10, 20, 30}
myset1 = {10,30,50}
#this will return false
#this will return a set with the union of the two sets.

Method NameProperty
clear()clears the items from a set
copy()returns the copy of the set
difference()returns a set with the difference of the two sets
isdisjoint()returns if the sets have intersection
issubset()returns if the set is a subset
symmetricdifference()returns a set with the symmetric difference
update()update the sets with union of the set

Lets take a look at another collection data type which has key value pairs.


A dictionary is just like any other collection array in python. But they have key value pairs. A dictionary is unordered and changeable. We use the keys to access the items from a dictionary. To declare a dictionary, we use the curly brackets.

mydictionary = { 'python': 'data science', 'machine learning' : 'tensorflow' , 'artificial intelligence': 'keras'}

mydictionary['machine learning']

#this will give the output as 'tensorflow'


#this serves the same purpose to access the value.

Since we are using the keys to access the items, they cannot be duplicate.The values can have duplicate items.

Data Manipulation in a dictionary

#adding a new value

mydictionary['analysis'] = 'matplotlib'

#replacing a value

mydictionary['analysis'] = 'pandas'

#deleting a value


#remove() , del also serves the same purpose for deleting a value.

Other operations in a dictionary include the following.

Method NameProperty
copy()returns a copy of the dictionary
clear()clears the dictionary
items()returns a list containing tuple of key value pairs
keys()returns a list containing all the keys
update()updates the dictionary with all the key-value pairs
values()returns a list of all the values in a dictionary
setdefault()returns the value of a specified key


Range is a data type which is mainly used when we are using a loop. Lets take an example to understand this.

for x in range(10):


#this will print the numbers from 0-10. Range will have the numbers from 0-10

Now that we have understood different python data types, there is another important concept of type casting which is helpful when we change from one data type into another. Lets understand the concept of type casting.

Type Casting

Type casting basically is the process of changing one data type into another. We have constructors for each of the data types in python data types.

  1. list()
  2. set()
  3. tuple()
  4. dict()
  5. str()
  6. int()
  7. float()

We can simply use these constructors to use the specified data type or we can change a data type to another using these constructors. Lets understand this with an example.

a = [ 10 , 20 ,30,40]

#to change this list into a tuple i can simply write


#now the list will change to a tuple.

Using these constructors we can use various data types with the functionality of the other. Suppose we declare the list mentioned in the example as a tuple in a program, it will become immutable for that particular operation. Similarly we can use other constructors as well.

Now that we have discussed Python variables and Python data types. I hope the properties of each data type and the operations are clear to you. If you want to kick-start your learning in python programming, you can refer to the Edureka’s Python online course program for python programming. The curriculum is top notch and contains structured learning to master python.

If you have any questions, write them in the comment section. We will get back to you.

Upcoming Batches For Python Programming Certification Course
Course NameDate
Python Programming Certification Course

Class Starts on 23rd December,2023

23rd December

SAT&SUN (Weekend Batch)
View Details
Python Programming Certification Course

Class Starts on 20th January,2024

20th January

SAT&SUN (Weekend Batch)
View Details

Join the discussion

Browse Categories

webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP

Subscribe to our Newsletter, and get personalized recommendations.

image not found!
image not found!

What Are Python Data Types and Variables?