使用 Python 创建 BankAccount 类并使用 @property 和 @balance.setter 创建 getter 和 setter 方法

本文将介绍如何使用 Python 的 @property@balance.setter 装饰器在 BankAccount 类中创建 getter 和 setter 方法,用于获取和设置余额属性。该示例展示了如何使用这些装饰器来控制余额属性的访问,并确保余额始终大于等于 0。

代码示例

class BankAccount:
    def __init__(self, balance):
        self._balance = balance

    @property
    def balance(self):
        return self._balance

    @balance.setter
    def balance(self, value):
        if value >= 0:
            self._balance = value
        else:
            print('Invalid balance')

# 使用示例
account = BankAccount(1000)
print(account.balance)  # 输出 1000
account.balance = 2000
print(account.balance)  # 输出 2000
account.balance = -1000  # 输出 'Invalid balance'

代码解释

  1. BankAccount

    • 该类有一个私有属性 _balance 用于存储账户余额。
  2. @property 装饰器

    • 使用 @property 装饰器定义 balance 方法,该方法充当 getter 方法,用于返回账户余额。
  3. @balance.setter 装饰器

    • 使用 @balance.setter 装饰器定义 balance 方法,该方法充当 setter 方法,用于设置账户余额。
    • 该方法在设置余额时,首先检查 value 是否大于等于 0。
    • 如果 value 大于等于 0,则将 _balance 设置为 value
    • 如果 value 小于 0,则打印 “Invalid balance”。
  4. 使用示例

    • 创建了一个 BankAccount 对象,初始余额为 1000。
    • 使用 account.balance 获取余额,并打印输出,结果为 1000。
    • 使用 account.balance = 2000 设置余额,并打印输出,结果为 2000。
    • 使用 account.balance = -1000 设置余额,由于余额小于 0,程序会输出 “Invalid balance”。

总结

通过使用 @property@balance.setter 装饰器,我们可以很方便地创建 getter 和 setter 方法,并通过 setter 方法对属性值的设置进行限制,从而确保代码的安全性。

希望本文能帮助您理解如何使用 @property@balance.setter 装饰器在 Python 中创建 getter 和 setter 方法。

Python BankAccount 类:使用 @property 和 @balance.setter 创建 getter 和 setter 方法

原文地址: https://www.cveoy.top/t/topic/mZDN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录