InPython, variables are used to store data that can be referenced and manipulated during program execution. A variable is essentially a name that is assigned to a value. Unlike many other programming languages, Python variables do not require explicit declaration of type. The type of the variable is inferred based on the value assigned.
Variables act as placeholders for data. They allow us to store and reuse values in our program.
Example:
Python# Variable 'x' stores the integer value 10x=5# Variable 'name' stores the string "Samantha"name="Samantha"print(x)print(name)
In this article, we’ll explore the concept of variables in Python, including their syntax, characteristics and common operations.
Rules for Naming Variables
To use variables effectively, we must follow Python’s naming rules:
- Variable names can only contain letters, digits and underscores (
_
). - A variable name cannot start with a digit.
- Variable names are case-sensitive (
myVar
andmyvar
are different). - Avoid usingPython keywords (e.g.,
if
,else
,for
) as variable names.
Valid Example:
Pythonage=21_colour="lilac"total_score=90
Invalid Example:
Python1name="Error"# Starts with a digitclass= 10 # 'class' is a reserved keyworduser-name="Doe"# Contains a hyphen
Assigning Values to Variables
Basic Assignment
Variables in Python are assigned values using the=
operator.
Python
Dynamic Typing
Python variables are dynamically typed, meaning the same variable can hold different types of values during execution.
Python
Multiple Assignments
Python allows multiple variables to be assigned values in a single line.
Assigning the Same Value
Python allows assigning the same value to multiple variables in a single line, which can be useful for initializing variables with the same value.
Python
Assigning Different Values
We can assign different values to multiple variables simultaneously, making the code concise and easier to read.
Pythonx,y,z=1,2.5,"Python"print(x,y,z)
Type Casting a Variable
Type casting refers to the process of converting the value of one data type into another. Python provides several built-in functions to facilitate casting, including int(), float() and str() among others.
Basic Casting Functions
- int()- Converts compatible values to an integer.
- float()- Transforms values into floating-point numbers.
- str()- Converts any data type into a string.
Examples of Casting:
Python# Casting variabless="10"# Initially a stringn=int(s)# Cast string to integercnt=5f=float(cnt)# Cast integer to floatage=25s2=str(age)# Cast integer to string# Display resultsprint(n)print(f)print(s2)
Getting the Type of Variable
In Python, we can determine the type of a variable using the type() function. This built-in function returns the type of the object passed to it.
Example Usage of type()
Python# Define variables with different data typesn=42f=3.14s="Hello, World!"li=[1,2,3]d={'key':'value'}bool=True# Get and print the type of each variableprint(type(n))print(type(f))print(type(s))print(type(li))print(type(d))print(type(bool))
Output<class 'int'><class 'float'><class 'str'><class 'list'><class 'dict'><class 'bool'>
Object Reference in Python
Let us assign a variable x to value 5.
x = 5

Whenx = 5
is executed, Python creates an object to represent the value5
and makesx
reference this object.
Now, if we assign another variabley to the variablex.
y = x

Explanation:
- Python encounters the first statement, it creates an object for the value
5
and makesx
reference it. The second statement createsy
and references the same object asx
, notx
itself. This is called aShared Reference, where multiple variables reference the same object.
Now, if we write
x = 'Geeks'
Python creates a new object for the value"Geeks"
and makesx
reference this new object.

Explanation:
- The variable
y
remains unchanged, still referencing the original object5
.
If we now assign a new value toy
:
y = "Computer"

- Python creates yet another object for
"Computer"
and updatesy
to reference it. - The original object
5
no longer has any references and becomes eligible for garbage collection.
Key Takeaways:
- Python variables hold references to objects, not the actual objects themselves.
- Reassigning a variable does not affect other variables referencing the same object unless explicitly updated.
Delete a Variable Using del Keyword
We can remove a variable from the namespace using thedel keyword. This effectively deletes the variable and frees up the memory it was using.
Example:
Python# Assigning value to variablex=10print(x)# Removing the variable using deldelx# Trying to print x after deletion will raise an error# print(x) # Uncommenting this line will raise NameError: name 'x' is not defined
Explanation:
- del x removes the variable x from memory.
- After deletion, trying to access the variable x results in a NameError, indicating that the variable no longer exists.
Practical Examples
1. Swapping Two Variables
Using multiple assignments, we can swap the values of two variables without needing a temporary variable.
Pythona,b=5,10a,b=b,aprint(a,b)
2. Counting Characters in a String
Assign the results of multiple operations on a string to variables in one line.
Pythonword="Python"length=len(word)print("Length of the word:",length)
OutputLength of the word: 6
Scope of a Variable
In Python, the scope of a variable defines where it can be accessed in the program. There are two main types of scope:local and global.
Local Variables:
- Defined within a function or block, accessible only inside that scope.
- Destroyed once the function/block ends.
- Temporary, used for short-term data.
Global Variables:
- Defined outside functions, accessible throughout the program.
- To modify within a function, use the
global
keyword. - Persist in memory for the program’s duration, useful for shared data.
To learn about it in detail, refer to
local and global.
Python Quiz:
Related Posts:
Recommended Problems:
Python Variables - Python
What is the scope of a variable in Python?
The scope of a variable determines where it can be accessed. Local variables are scoped to the function in which they are defined, while global variables can be accessed throughout the program.
Can we change the type of a variable after assigning it?
Yes, Python allows dynamic typing. A variable can hold a value of one type initially and be reassigned a value of a different type later.
What happens if we use an undefined variable?
Using an undefined variable raises aNameError
. Always initialize variables before use.
How can we delete a variable in Python?
We can delete a variable in Python using thedel
keyword:
x = 10
del x
#print(x) # Raises a NameError since 'x' has been deleted