Python Variables Explained for Beginners
Variables are one of the first things you learn in Python.
A variable is a name that points to a value. You use variables to store data, reuse it later, and make your programs easier to read.
In Python, you create a variable by assigning a value with the = sign. You do not need a special keyword like var or let.
Quick example
name = "Alice"
age = 25
print(name)
print(age)
Use the = sign to assign a value to a variable. Then use the variable name later in your code.
What a variable is
A variable is a name that refers to a value.
This lets you:
- store data
- use it later
- update it when needed
For example, a variable might store:
- a person's name
- a number
- a price
- a value entered by the user
In Python, a variable is created when you assign a value to it with =.
message = "Hello"
score = 10
price = 4.99
Here:
messagerefers to"Hello"scorerefers to10pricerefers to4.99
If you want a shorter definition, see what is a variable in Python.
How to create a variable in Python
To create a variable:
- put the variable name on the left
- put
=in the middle - put the value on the right
Example:
score = 10
This means: “store the value 10 in the variable named score.”
Python does not require a declaration first. This is valid:
city = "Paris"
You do not need to write anything before it.
Here is another simple example:
user_name = "Maya"
item_count = 3
print(user_name)
print(item_count)
Expected output:
Maya
3
If you are also learning the basic rules of writing Python code, see Python syntax basics explained.
How variables are used
Variables are useful because they let you reuse values.
You can use them to:
- print stored values
- use the same value in multiple places
- update values
- do calculations
- check conditions
Print stored values
language = "Python"
print(language)
Expected output:
Python
You can learn more about this on the Python print() function explained.
Reuse a value
name = "Ava"
print("Hello,", name)
print("Your name is", name)
Expected output:
Hello, Ava
Your name is Ava
Update a variable
count = 1
print(count)
count = 2
print(count)
Expected output:
1
2
The second assignment replaces the first value.
Use variables in calculations
price = 10
tax = 2
total = price + tax
print(total)
Expected output:
12
Variable naming rules
Python has a few rules for variable names.
Allowed
Variable names can contain:
- letters
- numbers
- underscores (
_)
Examples:
name = "Sam"
score1 = 99
user_name = "sam123"
Not allowed
Names cannot start with a number
This is invalid:
# 2score = 10
A valid version would be:
score2 = 10
Names cannot contain spaces
This is invalid:
# first name = "Lena"
A valid version would be:
first_name = "Lena"
Names are case-sensitive
age and Age are different variables.
age = 20
Age = 30
print(age)
print(Age)
Expected output:
20
30
Do not use Python keywords
Words like if, for, and class have special meaning in Python, so you cannot use them as variable names.
Invalid example:
# class = "Math"
Good variable names
Choose names that clearly describe the value.
Good examples:
user_nametotal_priceitem_count
These are easier to understand than unclear names like:
xadata
Short names are not always wrong, but beginners should usually prefer readable names.
Compare these:
x = 19.99
y = 2
z = x * y
print(z)
This works, but it is not very clear.
A better version:
item_price = 19.99
quantity = 2
total_price = item_price * quantity
print(total_price)
Expected output:
39.98
Good names make your code easier to read and easier to debug.
Variables can change
Variables are called “variables” because their values can change.
You can assign a new value to the same variable at any time.
count = 1
print(count)
count = 2
print(count)
Expected output:
1
2
The old value is replaced by the new one.
This is useful in programs that track changing data, such as:
- a score
- a total
- a user's answer
- the current step in a process
Variables and data types
A variable can refer to different kinds of data.
Some common Python data types are:
strfor textintfor whole numbersfloatfor numbers with decimalsboolforTrueorFalse
Examples:
city = "Paris" # str
age = 20 # int
price = 9.99 # float
is_ready = True # bool
You can check the type of a value with type():
city = "Paris"
age = 20
print(type(city))
print(type(age))
Expected output:
<class 'str'>
<class 'int'>
If you want to learn these in more detail, see Python data types overview and type conversion in Python.
Simple beginner examples
Here are a few short examples that show common ways to use variables.
Store text in a variable
greeting = "Hello, world!"
print(greeting)
Expected output:
Hello, world!
Store numbers and add them
a = 5
b = 7
total = a + b
print(total)
Expected output:
12
Use variables with print()
name = "Noah"
score = 95
print("Student:", name)
print("Score:", score)
Expected output:
Student: Noah
Score: 95
Store user input in a variable
name = input("Enter your name: ")
print("Hello,", name)
The input() function returns text. That means if a user types 25, Python stores it as a string unless you convert it.
You can learn more on the Python input() function explained.
Common beginner mistakes
These are some of the most common variable mistakes in Python.
Using spaces in variable names
This is invalid:
# first name = "Ali"
Use an underscore instead:
first_name = "Ali"
Starting a variable name with a number
This is invalid:
# 2score = 50
Use this instead:
score2 = 50
Confusing = with ==
=assigns a value==compares two values
Assignment:
age = 20
Comparison:
print(age == 20)
Expected output:
True
Using a variable before assigning a value
This causes an error:
print(score)
If score was never created, Python will raise a NameError.
Fix it by assigning a value first:
score = 10
print(score)
If you see this error often, read NameError: name is not defined fix.
Writing a keyword as a variable name
This is invalid:
# if = 5
Choose another name:
if_count = 5
What to learn next
Once you understand variables, the next step is learning what kinds of values they can store and how those values behave.
Good next topics are:
- Python data types overview
- Python
print()function explained - Python
input()function explained - type conversion in Python
FAQ
Do I need to declare variables in Python first?
No. In Python, a variable is created when you assign a value to it.
Can a variable change to a different type?
Yes. Python lets you assign a new value of a different type to the same variable.
value = 10
print(type(value))
value = "ten"
print(type(value))
Expected output:
<class 'int'>
<class 'str'>
What is the difference between = and == in Python?
= assigns a value to a variable.
== compares two values to check if they are equal.
x = 5
print(x == 5)
Expected output:
True
Why does Python say a name is not defined?
Usually because:
- the variable was used before it was assigned
- the name was misspelled
- the capitalization was different, such as
agevsAge
Useful debugging checks:
print(my_variable)
print(type(my_variable))
dir()
help(type)