Python 存取器和修改器方法
在Python中,存取器和修改器方法用于访问类的私有数据,这些数据无法从类外部访问。在面向对象编程中,类对象数据被封装,即对象数据被保持为私有,无法从对象外部访问。通过Python中的存取器和修改器方法提供对这些私有数据的访问。这些方法在Python中也被称为获取器和设置器方法。本文将通过示例来了解存取器和修改器方法。
存取器方法
存取器方法用于访问对象数据。可以使用存取器方法访问对象的私有变量。存取器方法被声明为公共方法,返回对象的私有成员数据。存取器方法也被称为获取器方法,因为它们用于获取对象数据。
在Python中,使用@property装饰器来定义存取器方法。当调用存取器方法时,它返回对象的私有成员变量值。
示例
在下面的示例中,我们将定义一个名为Person的类,其中包含一个名为_name
的私有变量。然后,我们创建一个名为name的存取器方法,它返回Person类的一个私有成员变量_name
的值。我们可以通过创建一个person对象并使用name存取器方法来访问_name
属性的值。
class Person:
def __init__(self, name):
self.__name = name
@property
def name(self):
return self.__name
person = Person("John")
print(person.name)
输出
John
改变器方法
改变器方法被用来修改对象的私有数据。改变器方法也被称为setter方法,因为它们被用来设置/修改对象私有变量的值。改变器方法被声明为私有的,用于修改对象变量的私有值。
在Python中,改变器方法使用@.setter装饰器来定义,该装饰器指定该方法的行为类似于setter方法。当调用改变器方法时,它会设置对象的私有变量的值。
示例
在下面的示例中,我们定义了一个Person类,它有一个私有的_name
变量。我们还使用@property和@name.setter装饰器分别定义了一个名称访问器方法和一个名称改变器方法。当在调用函数时传递一个值参数时,名称改变器方法会修改_name
变量的值。
class Person:
def __init__(self, name):
self.__name = name
@property
def name(self):
return self.__name
@name.setter
def name(self, value):
self.__name = value
person = Person("John")
person.name = "Jane"
print(person.name)
输出
Jane
结论
访问器和修改器方法在面向对象编程中被用来提供对对象的私有变量的访问。这些方法也被称为getter和setter方法,因为它们分别用于获取和设置/修改对象的私有变量。在Python中,访问器方法和修改器方法分别使用@property和@