Variables in Python

Python has become one of the most popular programming languages in the world, known for its readability and simplicity. For beginners and programming enthusiasts venturing into the world of Python, understanding the concept of variables is fundamental. This blog post is tailored specifically to demystify variables in Python and help learners build a strong foundation.

What Are Python’s Variables?

Variables in Python are essentially labels that you can assign to values. They are used to store data that can be manipulated or referenced later in your code. Think of variables as containers holding information that can vary or be changed.

Example:

x = 5

name = "Alice"

In the above example, x and name are variables. The variable x stores the integer 5, while name stores the string "Alice".

Declaring and Naming Variables

Creating a variable in Python is simple; you just name the variable and assign it a value with the = operator. Unlike some other programming languages, you don’t have to explicitly state the type of the variable. Python is dynamically typed, which means the interpreter infers the type of the variable based on the value it’s assigned.

Naming rules for Python variables:

  • Must start with a letter (a-z, A-Z) or an underscore (_).
  • Cannot start with a number.
  • Can only contain alphanumeric characters and underscores (A-z, 0-9, and _).
  • Are case-sensitive (age, Age, and AGE are three different variables).

Good Variable Naming:

temperature = 98.6

user_age = 30

is_valid = True

Bad Variable Naming:

2nd_name = "Bob" # Starts with a number

user-name = "Charlie" # Contains a hyphen instead of an underscore

global = "value" # 'global' is a reserved keyword in Python

Variable Types in Python

The data stored in variables can be of various types, and Python has several built-in data types such as:

  • int (for integers)
  • float (for floating-point numbers)
  • str (for strings)
  • bool (for Boolean True/False values)
  • list (a collection which is ordered and changeable)
  • tuple (a collection which is ordered and immutable)
  • dict (a collection of key-value pairs, similar to a real-world dictionary)

Data Type Examples:

integer_variable = 42

floating_point_variable = 3.14159

string_variable = "Hello, World!"

boolean_variable = False

list_variable = [1, 2, 3, 4, 5]

tuple_variable = (10, 20, 30)

dict_variable = {'apple': 'fruit', 'beetle': 'insect'}

If you want to learn more about variable types in Python, then you should read about Data Types in Python.

The Mutability of Python Variables

One of the core concepts to understand about Python variables is that their mutability is determined by the data type they reference.

For example, lists are mutable, meaning you can change their content:

colors = ["red", "green", "blue"]

colors[1] = "yellow"

Resulting list is now ["red", "yellow", "blue"]

# On the other hand, tuples are immutable, so once they're defined, their content can't be changed:

dimensions = (100, 200)

# Trying to change dimensions would result in a TypeError

Dynamic Typing in Python

Python’s dynamic typing allows you to reassign variables to different data types. This is different from statically typed languages, where the type of a variable is determined at compile-time and cannot be changed later.

Example of Dynamic Typing:

var = "I am a string"

print(var) # Output: I am a string

var = 1234

print(var) # Output: 1234

Conclusion

Variables are an essential part of any Python program, and understanding how to use them effectively is a crucial step in your learning path. Remember, good naming conventions and an understanding of variable types will save time when writing your code. With practice, you’ll become familiar with the dynamic nature of Python variables and use them to their full potential.