Access Class Properties through Instance Name

Q

Can I access class properties through an instance name?

✍: FYIcenter.com

A

Yes, you can access class properties through an instance name, as long as there is no instance property that has the same name as a class property.

When you reference a property through the instance name in the following form:

instance_name.property_name

Python will search for the given property name in instance_name.__dict__ first. If match found, return the value. If not match found, continue with the next step.

In the next step, Python will search the given property name in class_name.__dict__. If match found, return the value. If not match found, return error.

The following Python code shows you a good example of accessing class property through a instance name:

>>> class user():
...     nextID = 1
...     def __init__(self,name="Joe",age=25):
...         self.id = user.nextID
...         self.name = name
...         self.age = age
...         user.nextID = user.nextID + 1
...
>>> x = user()
>>> x.nextID
2

 

Defining and Using Class for New Data Types

⇒⇒Python Tutorials

2017-09-09, 117👍, 0💬