Python tutorial
Variables In Python
Variables are containers for storing data values.
Unlike other programming languages, Python has no command for declaring a variable.
A variable is created the moment you first assign a value to it.
Rules for variable names
- names can not start with a number
- names can not contain spaces, use _ intead
-
names can not contain any of these symbols:
:'",<>/?|\!@#%^&*~-+
-
it's considered best practice (PEP8) that names are lowercase with underscores
- avoid using Python built-in keywords like
list
andstr
- avoid using the single characters
l
(lowercase letter el),O
(uppercase letter oh) andI
(uppercase letter eye) as they can be confused with1
and0
Assigning Variables
Variable assignment follows name = object
, where a single equals sign =
is an assignment operator
A variable is created the moment you first assign a value to it.
create a file demo_variables1.py add the below code in this file.
x = 5
y = "John"
print(x)
print(y)
Execute the code in following below manner.
C:\Users\My Name>python demo_variables1.py
5
John
Variables do not need to be declared with any particular type and can even change type after they have been set.
x = 4 # x is of type int
x = "Sally" # x is now of type str
print(x)
C:\Users\My Name>python demo_variables2.py
Sally
String variables can be declared either by using single or double quotes:
x = "John"
# is the same as
x = 'John'
C:\Users\My Name>python demo_variables7.py
John
John
Assign Value to Multiple Variables
x, y, z = "Orange", "Banana", "Cherry"
print(x)
print(y)
print(z)
C:\Users\My Name>python demo_variables8.py
Orange
Banana
Cherry
And you can assign the same value to multiple variables in one line:
x = y = z = "Orange"
print(x)
print(y)
print(z)
C:\Users\My Name>python demo_variables6.py
Orange
Orange
Orange
Reassigning Variables
a=5
print a
a = a + 10
print a
C:\Users\My Name>python demo_var.py
5
15
Output Variables
The Python print
statement is often used to output variables.
To combine both text and a variable, Python uses the +
character:
x = "awesome"
print("Python is " + x)
C:\Users\My Name>python demo_variables3.py
Python is awesome
You can also use the +
character to add a variable to another variable:
x = "Python is "
y = "awesome"
z = x + y
print(z)
C:\Users\My Name>python demo_variables4.py
Python is awesome
For numbers, the +
character works as a mathematical operator:
x = 5
y = 5
print(x + y)
C:\Users\My Name>python demo_variables5.py
10
If you try to combine a string and a number, Python will give you an error:
x = 5
y = "John"
print(x + y)
C:\Users\My Name>python demo_variables_test.py
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Global Variables
Variables that are created outside of a function (as in all of the examples above) are known as global variables.
Global variables can be used by everyone, both inside of functions and outside.
Create a variable outside of a function, and use it inside the function
x = "awesome"
def myfunc():
print("Python is " + x)
myfunc()
C:\Users\My Name>python demo_variables_global.py
Python is awesome
If you create a variable with the same name inside a function, this variable will be local, and can only be used inside the function. The global variable with the same name will remain as it was, global and with the original value.
Create a variable inside a function, with the same name as the global variable
x = "awesome"
def myfunc():
x = "fantastic"
print("Python is " + x)
myfunc()
print("Python is " + x)
C:\Users\My Name>python demo_variables_global2.py
Python is fantastic
Python is awesome
Global Keyword
Normally, when you create a variable inside a function, that variable is local, and can only be used inside that function.
To create a global variable inside a function, you can use the global
keyword.
If you use the global
keyword, the variable belongs to the global scope:
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
C:\Users\My Name>python demo_variables_global3.py
Python is fantastic
Also, use the global
keyword if you want to change a global variable inside a function.
To change the value of a global variable inside a function, refer to the variable by using the global
keyword:
x = "awesome"
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
C:\Users\My Name>python demo_variables_global4.py
Python is fantastic