Table of Content
Python

What Are Variables in Python?

Explore the fundamentals of variables with our guide on 'What Are Varibles in Python?'- their declaration, assignment, and usage.

What Are Variables in Python?
11 min read

Understanding the concept of variables

What Are Variables in Python? - Python programming language employs variables as foundational elements that can vary during the program execution period. Variables allow information to be saved and manipulated in a program. It is simply a name for a particular location in memory that holds a value.


Basically, the concept of variables revolves around the idea of abstraction. Instead of directly manipulating raw data, programmers use variables to represent and manage it in their programs more neatly and logically. This makes manipulation and management of data across the program simpler.


The name by which variables can be identified and the values they hold depending on what the program looks like form its definition. Variables in python are dynamic where their types are assigned based on the value they carry with them when declared. This feature streamlines coding since there’s no need to explicitly define types of various objects.


Further still, values can be altered several times over within one run of code which makes variable one of the most flexible means for accommodating changing data sets. The fact that variables unlike constants undergoes changes during runtime distinguishes them from latter which maintain fixed values till end of execution period for any given program.

Variable declaration and assignment

In Python, declaration and initialization of variables is a mainstay in programming. This assigns a name to a memory location and gives it a value. Programmers can develop efficient means of generating, saving and adjusting data within their programs through this process.


1. Syntax for Declaring Variables:


  • Python offers an easy syntax for declaring variables. Simply provide the variable with a name and use the assignment operator (=) to assign a value.

  • For example:


x = 10
name = "John"

2. Assigning Values to Variables:


  • There are different types of data that can be assigned to a variable like numbers, strings, lists among others.

  • Python is dynamically typed which means you do not have to mention explicitly about its type, instead it will infer from the assigned value.

  • For example:


age = 25  # Integer variable
height = 6.1  # Float variable
message = "Hello, World!"  # String variable

3. Initializing Variables:


  • Initialization is the process where you give an initial value to a variable at the time of declaration.

  • It's considered good practice to always initialize variables before even using them so as avoid unexpected behavior or errors in your code.

  • For example:


count = 0  # Initializing a variable to zero
total_price = 0.0  # Initializing a variable to float zero

4. Multiple Assignment:


  • In python, multiple variables can be given values all at once in one line.

  • This can be achieved through tuple unpacking or multiple assignment syntaxes.

  • For example:


a, b, c = 1, 2, 3  # Multiple assignment

5. Variable Naming Conventions:


  • Variables should possess names that are meaningful and descriptive enough to express their purposes.

  • They may contain letters, numbers as well as underscores but must start with either a letter or an underscore.

  • The case of variable names matters so much.

  • Variables are preferably named using snake_case convention (e.g. my_variable_name).

Different Types of Variables in Python

1. Local Variables:


  • These are variables that are definable within a particular block code such as functions or loops.

  • They can only be accessed within the scope where they are declared.

  • When the enclosing scope terminates, local variables are destroyed and memory allocated to them gets released.

  • Example:


def my_function():
    x = 10  # Local variable
    print(x)
 
my_function()  # Prints 10

2. Global Variables:


  • Global Variables are created outside any function or block.

  • They can be assessed through every part of the program including functions.

  • Global variable remains unchanged until it is purposely modified or the program ends.

  • Example:


y = 20  # Global variable
def my_function():
    print(y)
 
my_function()  # Prints 20

3. Instance Variables:


  • Instance variables represent specific instances in a class.

  • They belong to the constructor method (init) of a class and use self keyword to access them.

  • Each object created from a class has its own copy of instance variables.

  • Example:


class Person:
    def __init__(self, name, age):
        self.name = name  # Instance variable
        self.age = age    # Instance variable
 
person1 = Person("Alice", 30)
print(person1.name)  # Prints "Alice"
print(person1.age)   # Prints 30

4. Class Variables:


  • Class variables apply to all instances originating from a certain class in Python programming language.

  • This field is defined at the global level within the class but not inside any method.

  • To access this sort of field, you could either reference it by instance name or class name.

  • Example:


class Circle:
    pi = 3.14  # Class variable
 
    def __init__(self, radius):
        self.radius = radius  # Instance variable
 
    def calculate_area(self):
        return Circle.pi * (self.radius ** 2)
 
circle1 = Circle(5)
print(circle1.calculate_area())  # Prints 78.5

Scope of variables

The variable scope in Python defines the part of the code where they can be used and called. It is important to understand this aspect since it will help you to write codes that do not contain errors. Let us now look at what we mean by the concept of variable scope using Python:


1. Local Scope:


  • Variables defined inside a function have local scopes.

  • Local variables are accessible only within the function in which they are defined.

  • They are not accessible beyond that point.

  • Example:


def my_function():
    x = 10  # Local variable
    print(x)
 
my_function()  # Prints 10
print(x)  # This will raise NameError: name 'x' is not defined

2. Global Scope:


  • Variables declared outside any function or block belong to global scopes.

  • The entire program can access global variables including those found inside functions.

  • They can be modified from any part of the program.

  • Example:


y = 20  # Global variable
 
def my_function():
    print(y)
 
my_function()  # Prints 20

3. Enclosing (or Nested) Scope:


  • An inner function which exists within another may access variables located within an outer (enclosing) function's scopes.

  • This is referred to as enclosing or nested scope.

  • Example:

def outer_function():
    z = 30  # Enclosing variable
 
def inner_function():
    print(z)
 
    inner_function()  # Prints 30
 
outer_function()

4. Built-in Scope:


  • Python has numerous built-in functions plus objects that are always available to it.

  • These built-in functions and objects are available in the built-in scope.

  • Examples include functions like print(), len(), and objects like int, str, etc.


5. LEGB Rule:


  • Variable scope in python relies on LEGB (Local, Enclosing, Global, Built-in) rule which helps determine how it should be treated by python when executed as a script

  • When a variable is referenced, Python searches for it in the following order: local scope, enclosing scope, global scope, and built-in scope.

Naming Conventions for Variables

Naming variables in Python is important in making the code understandable and maintainable. In order to be clear and consistent, follow these naming conventions:


1. Descriptive and Meaningful Names:


  • Select names for your variables that accurately describe what they store.

  • Use meaningful names that express purpose or importance of a variable.

  • Avoid generic names like x, temp, or data.


2. Use Snake Case:


  • In Python, it is customary to write variable names using lowercase letters and separate them with underscores (_) (snake_case).

  • This helps improve readability in the code.

  • Example: user_name, total_count, customer_id.


3. Start with a Letter or Underscore:


  • Variables should begin with either a letter (a-z,A-Z) or an underscore (_), not numbers or other special characters.

  • Example: _name, age, total_sales.


4. Avoid Reserved Keywords:


  • Do not use words reserved by python as variable names since they have special meanings within the language.

  • Examples of reserved keywords: if, else, for, while, def, class, etc.


5. Be Consistent:


  • Throughout your codebase, maintain consistency in naming conventions.

  • To avoid confusion, choose one naming style for all of your project's variables.

  • If there is any existing convention followed by your project try to stick to it.


6. Use Camel Case for Class Names:


  • Though class names would be written in snake_case we should use CamelCase for our classes when writing in python programs.

  • Each word in a class name starts with a capital letter without an underscore between them.

  • Example: UserInfo, CustomerData, EmployeeDetails.


7. Avoid Single-Character Names:


  • Instead of single letter variable names (unless they represent conventional meanings such as i which stands for loop counters), make use of descriptive words that can help create a picture about their purpose and meaning.

  • Provide relevant and clear names by avoiding one character identifiers.


8. Consider PEP 8 Guidelines:


  • Python's official style guide is known as PEP 8.

  • The guide gives suggestions on how to name things correctly among others elements of coding style.

  • Adhering to PEP 8 guidelines ensures consistency and readability across different projects written in Python programming language.

Data types and variables

Variables in Python are capable of holding different types of data which are referred to as data types. In order to store and manipulate information effectively within your programs you must understand these data types. Let’s look at some common data types in Python and how they interact with variables:


1. Numeric Data Types:


  • Python gives support for two main numeric data types - int for integers and float for floating point numbers.

  • Integers refer to whole numbers without any decimal points, whereas floating-point numbers are those that have decimal points or they could be written in exponential form.

  • Example:


age = 25  # Integer variable
height = 6.1  # Float variable

2. String Data Type:


  • Strings (str) are made up of characters enclosing inside single quotes ('') or double ("") quotes.

  • In strings, letters, digits, special characters and spaces can be used.

  • Example:


name = "John Doe"  # String variable
message = 'Hello, World!'  # String variable

3. List Data Type:


  • Lists (list), on the other hand, are ordered collections of items that can have any type of value assigned to them.

  • Lists are mutable meaning that their elements can be changed after being created.

  • Elements within a list are placed within square brackets [] and separated by commas.

  • Example:


numbers = [1, 2, 3, 4, 5]  # List variable
fruits = ['apple', 'banana', 'orange']  # List variable

4. Tuple Data Type:


  • Like lists, tuples have elements that cannot be modified once they have been create, thus they are immutable.

  • Tuples are commonly used to represent fixed groups of items.

  • Elements in a tuple are enclosed within parentheses () separated by commas.

  • Example:


coordinates = (10, 20)  # Tuple variable
colors = ('red', 'green', 'blue')  # Tuple variable

5. Dictionary Data Type:


  • A dictionary (dict) in Python is defined as unordered collections of key-value pairs.

  • Each element in the dictionary consists of its key together with the corresponding value which separates them using colons (:).

  • Dictionaries are enclosed using curly braces {}.

  • Example:


 # Dictionary Variable
student = {'name': 'John', 'age': 25, 'grade': 'A'}

Conclusion

Variables are simply data storage containers that facilitate dynamic information handling and retrieval within software. Using proper and meaningful variable names that follow Pythons conventions can help make code easy to read and maintain. 


We have covered different types of variables such as local variables, global variables, instance variables, class variables hence their scopes. It's important that we know how to control data well in order to avoid name conflicts when coding.


Additionally, We also learnt about common python data types which include numbers, strings, lists, tuples, dictionaries as well as Booleans. Each data type has its unique characteristics and use cases that can be used to represent different kinds of data in our programs more efficiently.


Recent Posts

View all
View all