Python setter and getter function

libertycodervice

libertycodervice

Posted on March 2, 2020

Python setter and getter function

The Python setattr() function corresponds to the function getattr(). It set the attribute values of an object.

Python is an object orientated language, so you can have multiple objects in your applications run-time.

Objects (from classes) can have unique values. These values should be set using a getter and setter function. Python has the functions setattr() and getattr() for that.

The setattr() syntax is:

setattr (object, name, value)

with parameters:

  • Object: the object.
  • Name: string, object properties.
  • Value: property value.

examples

The following examples illustrate setattr() function using the method:

>>> class A:
...    foo = 1
... 
>>> obj1 = A()
>>> getattr(obj1, 'foo')
1
>>> setattr(obj1, 'foo', 6)
>>> getattr(obj1, 'foo')
6
>>> 

Of course you can use properties without getter and setter, but that's a bad practice.

>>> obj1.foo
6
>>> obj1.foo = 7
>>> 

If the property does not exist will create a new object property, and it will do property assignment:

>>> obj1.name = "Alice"
>>> getattr(obj1, 'name')
'Alice'
>>> 

This modifies the existing object only, not the class the object is derived from.

>>> dir(A)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'foo']
>>> 

But you should define all properties in the class, this is a best practice.

Related links:

💖 💪 🙅 🚩
libertycodervice
libertycodervice

Posted on March 2, 2020

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Learning Python
javascript Learning Python

November 28, 2024

Calculate savings with Python!
beginners Calculate savings with Python!

November 26, 2024

UV the game-changer package manager
programming UV the game-changer package manager

November 24, 2024

Beginners Guide for Classes
python Beginners Guide for Classes

November 20, 2024