How do you declare a variable in python class?

Python is an object-oriented programming language that allows programmers to define objects which can contain data. Python variables let you store particular values in a program.

When you’re working with objects in Python, there are two types of variables you may encounter—instance variables and class variables. But what do these types of variables mean, and how do they work?

How do you declare a variable in python class?

Find Your Bootcamp Match

  • Career Karma matches you with top tech bootcamps
  • Access exclusive scholarships and prep courses

Select your interest
First name

Last name

Email

Phone number

By continuing you agree to our Terms of Service and Privacy Policy, and you consent to receive offers and opportunities from Career Karma by telephone, text message, and email.

That’s the question we’re going to answer in this guide. This tutorial will explore, with examples, the basics of class and instance variables, and how they are used within Python objects.

Python Class Variables

A Python class variable is shared by all object instances of a class. Class variables are declared when a class is being constructed. They are not defined inside any methods of a class.

Because a class variable is shared by instances of a class, the Python class owns the variable. As a result, all instances of the class will be able to access that variable. Class variables are shared by all instances that access the class.

Here is an example of a class variable in Python:

class Espresso:
	menu_type = "Drink"

In this example, we declare a class variable called menu_type. This class variable is assigned to the class Espresso.

Class variables are useful because they allow you to declare a variable when a class has been built, which can then be used later in your class. 

Like regular variables, class variables can store data of any type. So, we could store a Python dictionary, a Python tuple, or a Python list in a class variable.

Accessing a Class Variable in Python

Now that we’ve declared a class variable, we can access it when we create an object of our class. So, if we want to create a new class instance and see the value of the menu_type variable, we could use this code:

class Espresso:
	menu_type = "Drink"

espresso_order = Espresso()
print(espresso_order.menu_type)

Our code returns: Drink.

In our code, we first define a class that has one class variable: menu_type. Then, we create an instance of our class. This instance is called espresso_order.

In order to see the value of the menu_type variable in our class, we use the dot notation. This is the name of the class followed by a period. Then, we specify the name of the class variable you want to read. This causes our program to return Drink.

Because our class variable is associated with a class, we don’t even need to declare an instance of our class to see its value. The following code allows us to see the value of our menu_type class variable:

class Espresso:
	menu_type = "Drink"

print(Espresso.menu_type)

Our code returns: Drink. In this example, we use the dot notation to access the value of the menu_type variable in our Espresso class. Unlike our previous example, we do not declare an instance of our class.

Changing a Class Variable

Class variables can also be changed, just like any other type of variable. To do so, you can use this code:

class Espresso:
	menu_type = "Drink"

espresso_order = Espresso()
espresso_order.menu_type = "Coffee"
print(espresso_order.menu_type)

Our code returns: Coffee. In this example, we have declared an instance of our class called espresso_order. Then, we assign the value of the espresso_order.menu_type class variable to be equal to Coffee. This changes the value of the variable.

We print out the new value of the menu_type variable to the console using a Python print statement.

Python Instance Variables

Python instance variables are owned by an instance of a class. The value of an instance variable can be different depending on the instance with which the variable is associated.

This means that the value of each instance variable can be. This is unlike a class variable where the variable can only have one value that you assign. Instance variables are declared inside a class method.

Here is an example of two instance variables in Python:

class CoffeeOrder:
	def __init__(self, coffee_name, price):
		self.coffee_name = coffee_name
		self.price = price

In this example, coffee_name and price are instance variables that exist within our class.

Assinging Values to an Instance Variable in Python

We can assign values to an instance variable when we declare a class. We do this by specifying the values we want to assign as arguments when we declare the class. Suppose we want to create an instance of our class with the following values:

  • coffee_name = “Espresso”
  • price = 2.10

We could create this instance using the following code:

class CoffeeOrder:
	def __init__(self, coffee_name, price):
		self.coffee_name = coffee_name
		self.price = price

customer_order = CoffeeOrder("Espresso", 2.10)
print(customer_order.coffee_name)
print(customer_order.price)

Our code returns:

Let’s break down our code. First, we declare a class called CoffeeOrder. This class has two instance variables: coffee_name and price.

We create a new instance of our class called customer_order. Then, we assign the value of the coffee_name variable to Espresso, and the value of price to 2.10. On the next line of code, we print out the value of the coffee_name variable using the dot notation. Then, we print out the value of the price variable.

How do you declare a variable in python class?

"Career Karma entered my life when I needed it most and quickly helped me match with a bootcamp. Two months after graduating, I found my dream job that aligned with my values and goals in life!"

Venus, Software Engineer at Rockbot

The values stored in our class are those that we passed when we declared our variable customer_order. This variable is an instance of our class.

Using Variables with Multiple Instances of a Python Class

To better distinguish class and instance variables, consider the following example of a Python class constructor (also known as the init method):

class CoffeeOrder:
	def __init__(self, coffee_name, price):
		self.coffee_name = coffee_name
		self.price = price

lucas_order = CoffeeOrder("Espresso", 2.10)
print(lucas_order.coffee_name)
print(lucas_order.price)

paulina_order = CoffeeOrder("Latte", 2.75)
print(paulina_order.coffee_name)
print(paulina_order.price)

Our code returns:

In this example, we have defined two instances of our class: lucas_order and paulina_order. Each of these instances has their own values set for the coffee_name and price instance variables.

As you can see, when we print Lucas’ order details to the console, the values Espresso and 2.10 are returned. When we print out Paulina’s order details to the console, the values Latte and 2.75 are returned.

This shows one of the main differences between instance and class variables in action: instance variables can have different values for each instance of the class, whereas class variables are the same across all instances.

Python Class Variables vs. Instance Variables.

Python class variables are declared within a class and their values are the same across all instances of a class. Python instance variables can have different values across multiple instances of a class.

Class variables share the same value among all instances of the class. The value of instance variables can differ across each instance of a class.

Class variables can only be assigned when a class has been defined. Instance variables, on the other hand, can be assigned or changed at any time.

Both class variables and instance variables store a value in a program, just like any other Python variable.

To learn more about Python, read our complete How to Learn Python guide.

How do you declare a class variable?

Class variables also known as static variables are declared with the static keyword in a class, but outside a method, constructor or a block. There would only be one copy of each class variable per class, regardless of how many objects are created from it.

How do you declare a variable value in Python?

Python has no command for declaring a variable..
Just name the variable..
Assign the required value to it..
The data type of the variable will be automatically determined from the value assigned, we need not define it explicitly..

What is a class variable in Python?

Class variable − A variable that is shared by all instances of a class. Class variables are defined within a class but outside any of the class's methods. Class variables are not used as frequently as instance variables are.

What are the types of variables in class in Python?

Inside a class, we can have three types of variables..
Instance variables (object level variables).
Static variables (class level variables).
Local variables..