Python 类中的 Getter/Setter 方法是什么?


在 Python 中,我们有不同的方法可以使我们的工作变得非常轻松和简单。在 Python 中可用的方法中,我们有两种方法,即 getter 和 setter。这些方法在 Python 的面向对象编程语言中发挥着至关重要的作用,用于隐藏私有变量。

Python 中的这些方法与其他面向对象编程语言中的 getter/setter 方法并不相同。它们用于面向对象编程语言中的数据封装。它们在以下条件下使用

  • Python 中的 getter/setter 用于验证获取和设置值的逻辑。

  • 在 Python 中,为了避免外部用户直接访问隐藏变量,换句话说,我们可以说 getter 和 setter 用于避免外部用户修改或访问隐藏变量。

  • 数据封装是指将与特定方法相关的数据绑定为一个整体。通过使用这种格式,可以限制数据的修改和访问。

  • 我们可以通过使用 getter 和 setter 方法在 Python 中实现这种数据封装。

  • 在 Python 中使用 getter 和 setter 的方式并不容易。要使用 getter 方法获取值,我们必须使用 get();要使用 setter 方法设置值,我们必须使用 set()。

  • getter 方法允许访问私有属性,而 setter 方法用于设置属性的值。

示例

让我们看一个示例来理解 Python 中的 getter 和 setter 方法。以下代码可用于使用 getter 和 setter 方法。

  • 在代码中,我们首先创建了一个名为 Tutorialspoint 的类。接下来,在类中,我们使用 **__init__ 函数初始化了类。

  • 之后,为了定义 getter 方法,我们创建了名为 **get_name** 的函数。

  • 接下来,为了定义 **setter 方法**,我们创建了 **set_name** 函数。现在调用 Tutorialspoint 类并将其分配给变量 b。

  • 接下来,我们使用 setter 方法将值 python 设置为类 b,我们使用 python 以及 **set_name** 函数。

  • 接下来,为了使用 getter 方法,我们打印了类 b 的 **get_name()** 函数。接下来还打印了 **_name 变量。**

class Tutorialspoint:   
   def __init__(self, name = 0):   
      self._name = name   
      # using the getter method   
   def get_name(self):   
      return self._name   
      # using the setter method   
   def set_name(self, a):   
      self._name = a   
    
b = Tutorialspoint()   
    
#using the setter function  
b.set_name("Python")   
    
# using the getter function  
print(b.get_name())   
    
print(b._name)  

输出

以下是 Python 面向对象编程语言中 getter 和 setter 方法用法的输出。

Python
Python

示例

让我们再看一个示例,以便更好地理解 Python 中的 getter 和 setter 方法。以下代码可用于使用 getter 和 setter 方法。

class python:   
   def __init__(self, x = 0):   
      self._x = x   
      # using the getter method   
   def get_x(self):   
      return self._x   
      # using the setter method   
   def set_x(self, a):   
      self._x = a   
    
b = python()   
    
#using the setter function  
b.set_x([100,200])   
    
# using the getter function  
print(b.get_x())   
    
print(b._x)  

输出

[100, 200]
[100, 200]

更新于: 2023年5月15日

703 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告