Skip to content

Commit dd0cfc9

Browse files
committed
pythonic way to write getter and setter
1 parent ae8cc90 commit dd0cfc9

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

oop_in_python/getter_setter.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,29 @@
1+
"""
2+
A pythonic way to write getter, setter and deleter in OOP.
3+
"""
4+
5+
16
class GetSet:
2-
def __init__(self, x):
3-
self.x = x
7+
def __init__(self):
8+
self.x = None
49

5-
def getter(self):
10+
@property
11+
def value(self):
612
return self.x
713

8-
def setter(self, value):
9-
self.x = value
14+
@value.setter
15+
def value(self, v):
16+
self.x = v
1017

11-
def deleter(self):
18+
@value.deleter
19+
def value(self):
1220
del self.x
1321

1422

1523
if __name__ == "__main__":
16-
obj = GetSet(10)
17-
print(obj.getter())
24+
obj = GetSet()
25+
obj.value = "Sadman Kabir Soumik" # setter is called
26+
get = obj.value # getter is called
27+
print(obj.value)
28+
del obj.value # deleter is called
29+
print(obj.value) # gives error

0 commit comments

Comments
 (0)