ใช้ Getters และ setters ในภาษาการเขียนโปรแกรมเชิงวัตถุจำนวนมากเพื่อให้แน่ใจถึงหลักการของการห่อหุ้มข้อมูล พวกเขาเป็นที่รู้จักในฐานะวิธีการกลายพันธุ์เช่นกัน การห่อหุ้มข้อมูลถือเป็นการรวมกลุ่มของข้อมูลกับวิธีการที่ทำงานกับข้อมูลเหล่านี้ แน่นอนว่าวิธีการเหล่านี้เป็นตัวรับสำหรับการดึงข้อมูลและตัวตั้งค่าสำหรับการเปลี่ยนแปลงข้อมูล ตามหลักการนี้ คุณลักษณะของคลาสถูกกำหนดให้เป็นส่วนตัวเพื่อซ่อนและปกป้องพวกเขาจากรหัสอื่น
น่าเสียดาย เป็นที่เชื่อกันอย่างกว้างขวางว่าคลาส Python ที่เหมาะสมควรสรุปคุณลักษณะส่วนตัวโดยใช้ getters และ setters การใช้ getters และ setters ไม่ใช่เรื่องง่ายและสวยงาม วิธี pythonic ในการทำเช่นนี้คือการใช้คุณสมบัติหรือคลาสที่มีคุณสมบัติ วิธีการที่ใช้ในการรับค่าจะถูกตกแต่งด้วย "@property" เมธอดที่ต้องทำหน้าที่เป็น setter นั้นตกแต่งด้วย "@x.setter"
ตัวอย่าง
ตัวอย่างการใช้ getters และ setters มีดังนี้
class P: def __init__(self,x): self.__set_x(x) def __get_x(self): return self.__x def __set_x(self, x): if x < 0: self.__x = 0 elif x > 1000: self.__x = 1000 else: self.__x = x x = property(__get_x, __set_x)