在 Python 中,可以将 getter 和 setter 定义为方法。
Getter: getter 方法检索类属性的值。方法的名称以 开头,后跟属性名称。get_Setter: setter 方法修正类属性的值。方法的名称以 开头,后跟属性名称。set_在 Python 中实现 getter 和 setterclass Circle: def __init__(self, radius): self._radius = radius # Private attribute with underscore prefix # Getter method def get_radius(self): return self._radius # Setter method def set_radius(self, value): if value >= 0: self._radius = value else: raise ValueError("Radius cannot be negative")
在上面的代码脚本中,有一个具有私有属性的类。定义了一个 getter 方法来检索半径值,并定义了一个 setter 方法来修正半径值,同时确保它为非负数。Circle_radiusget_radiusset_radus
利用 getter 和 settercircle = Circle(5)# Using the getterprint(circle.get_radius()) # Output: 5# Using the settercircle.set_radius(7)print(circle.get_radius()) # Output: 7# Attempting to set a negative radius (raises an error)circle.set_radius(-2) # ValueError: Radius cannot be negative
属性装饰器
在 Python 中,可以利用属性装饰器更简洁地创建 getter 和 setter 方法。属性装饰器许可利用 和 语法定义 getter 和 setter 方法。@property@<attribute_name>.setter
class Circle: def __init__(self, radius): self._radius = radius # Private attribute with underscore prefix @property def radius(self): return self._radius @radius.setter def radius(self, value): if value >= 0: self._radius = value else: raise ValueError("Radius cannot be negative")