Python Variables and Expressions

Variables and Expressions

Declare a Variable

# Declare a variable and initialize it
v = 1
print(v)

Output: 1         (Integer)

Re-declare a Variable

# Declare a variable and initialize it
v = 1
print(v)

# re-declaring the variable works
v = "abc"
print(v)

Output: abc         (String)

So even if the variable has already been declared you can simply redeclare it and that works.

Concatenate Different Types

# ERROR: variables of different types cannot be combined
print( "abc" + 1 )

Output: error        TypeError: can only concatenate str (not "int") to str

This is happening because Python is a strongly typed language even though you don't have to declare the type of a variable before you use it. What's happening is when Python goes to execute the code it infers a specific type for a value or a variable. You can't go back and change the type or combine it with other types.

Global and Local Variables

# Global vs. local variables in functions
Variable = "ABC"

#Define Some Function
def Function():
    Variable = "XYZ"
    print(Variable)
#End of Function

Function()
print(Variable)

Output:

XYZ
ABC

The reason is because inside the function the function gets it own local copy of whatever variables you declare inside the function. So the two variables even if they have the same name are considered two separate variables by the Python interpreter.

Using global
# Global vs. local variables in functions
Variable = "ABC"

#Define Some Function
def Function():
    global Variable
    Variable = "XYZ"
    print(Variable)
#End of Function

Function()
print(Variable)

Output:

XYZ
XYZ

The function here is now operating on the global variable. Since we told the function that Variable is now global this assignment Variable = "Local" affects the Variable that's outside the function.

Delete Variable Definition

# Global vs. local variables in functions
Variable = "ABC"

#Define Some Function
def Function():
    global Variable
    Variable = "XYZ"
    print(Variable)
#End of Function

Function()
print(Variable)

#Delete Variable Definition
del Variable
print(Variable)

Output:

XYZ
XYZ
NameError: name 'Variable' is not defined

So essentially what this means is that you can undefine variables in real time by using the del statement.

13