Variables are used as containers or boxes (of real world) in our Python program. Variable stores our data.
Rules to create variables in Python.
Name starts with lower or upper case chars or underscore _
Can’t start with number
Can contain number , underscore ,char
No length restriction
Can reassign to different types.
Case sensitive
Reserved words can’t be used ( What is reserved words ?)
Must assign before using
Operations within similar variables
Scope of Variables
Python variables declaration and naming conventions with rules with sample code using google colab.
Data type of Python variables
Each variable we create or use, belongs to one data type. In Python we can say all data types are Classes and variables are objects of these classes.
i=5
In above line we are saying variable i is an integer variable or i is an object of integer class. Different Data types in Python→
identifiers
Identifiers are name given to python objects like variables, functions, class , modules etc. ( Variables are one type of identifiers )
There are rules for the identifiers.
Only lower or upper case chars , digits and underscore are allowed.
We can't start identifier name with digit.
$ , # , @, !, %,special chars and space can't be used with identifiers
The function type() returns the variable type ( integer, float, string etc ) If a variable is used as Integer, if subsequently we assign string value to it, then the variable type will change to string.
This feature is not allowed in may other programming languages
Python has a list of reserved words. We can't use the reserved words as our variable name. We can't use local, nonlocal, global as variable names as these are reserved keywords in Python.
Check the code above, since we have not assigned or used the variable my_end_name before so the line print(my_2nd_name) generates error. ( Variables are case sensitive )
Operations within similar variables
This code will generate error as we can't add integer and a string.
a=45
b="Hello"
#b=5
print(a+b)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
If we un-comment the line saying b=5 , then output we will get is 50.
We can convert string to integer by using int() function and use str() to convert integer to string variable.
a='45' # a is a string variable , it is not an integer
b=42
#print(a+b) # error, as we can't add one string with integer variable
print(a+str(b)) # this is fine
print(int(a)+b) # this is fine
Scope of the variable
Can we use the variable in different programs? Answer is No , the variable is no more available after the program is terminated. Even within the program, there is a difference between availability of local variables and global variable.
a=6
try:
print(a) # 6
del a
print(a) # error
except NameError as my_msg:
print ("This is a NameError")
print(my_msg)
except:
print ("Some other error has occured")
try:
my_var # variable to check
except NameError:
print("Not defined !")
else:
print("Yes, it was defined.")
Constants
There is no declaration of constant in Python, ( constant is NOT included as a reseved word in Python ) we can reassign the value of such varaibles after declaring.
constant=9 # No error
print(constant) # 9
As a convention we declare these variables which we don’t want to reassign values in Upper case.
SCHOOL_NAME='Name of school'
Usually we keep these constant in a separate .py file and import to main script. This way different files can use the same values.