Write a blog post describing how object and class attributes work.

What’s a class attribute?

Before to describe this new concept, let’s clarify that Objects usually have attributes and methods that are callable attributes too, and other attributes are data. Data attributes are normally implemented as instance variables, that is, variables that are unique to a particular object. Then:

What’s an instance attribute and the ways to create them?

Instance attributes are owned by the specific instances of a class. This means for two different instances the instance attributes are usually different. Next example, showns this definition:

What is the Pythonic way to create them..!!

In the previous definition of both concepts; we define class attributes outside of all the methods, usually they are placed at the top, right below the class header. i.e.

What are the differences between class and instance attributes?

As we saw in the previous example, class and instance attributes are different. Class attributes are accessible to all instances of the class, where instance attributes are accessible only to that particular instance of the class. We can access a class attribute via an instance or the class name, whereas an instance attribute can only be accessed via the instance to which it belongs.

What are the advantages and drawbacks of class and instance Attributes?

Advantages of class attributes:

Disadvantages of class attributes:

Advantages of instance attributes:

Disadvantages of instance attributes:

How does Python deal with the object and class attributes using the __dict__

Python’s class attributes and object attributes are stored in separate dictionaries. which they use to store their attributes and their corresponding values, as we can see here:

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store