I have created a class that has multiple properties. I want to use one function for the getter method and the second one for the setter method.
class person:
def __init__(self, fname, lname, city, state):
# make all attributes as private
self._fname = fname
self._lname = lname
self._city = city
self._state = state
@property # get method
def fname(self):
return self._fname
@fname.setter # set method
def fname(self,fname):
self._fname = fname
@property
def lname(self):
return self._lname
@lname.setter
def lname(self,lname):
self._lname = lname
@property
def city(self):
return self._city
@city.setter
def city(self, city):
self._city = city
@property
def state(self):
return self._state
@state.setter
def state(self, state):
self._state = state
How to use all properties for one get methods and one set method?
e.g.:
def get(self):
return self._attr
def set(self,value):
self._attr = value
class person:
def __set_name__(self, name):
self.name = name
def __get__(self, obj, type=None) -> object:
return obj.__dict__.get(self.name)
def __set__(self, obj, value) -> None:
obj.__dict__[self.name] = value
my_value = person
my_values.fname = 'Shivam'
my_values.lname = 'Gupta'
print(my_values.fname) #--> Shivam
print(my_values.lname) #--> Gupta