如何避免在Python中重新定义变量导致的隐藏错误

2024-05-26 17:44:12 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我们有以下代码:

class Dog:
      breed = "Hamster"
      color = "Blue"
      .... tons of properties ...
      favoriteLanguage= "Python"

在另一个脚本中,我们没有意识到Dog类已经有了favoriteLanguage,我们可能会意外地做一些事情:

luna=狗() LunAAppItLeleGanga=“C++”

我们应该把favoriteLanguage作为一个公共变量,常量或者其他不能修改的东西,因为它可能会导致隐藏的bug。最好的方法是让错误/警告注意到这一点。我们如何在Python中做到这一点


Tags: of代码脚本blueproperties事情classcolor
1条回答
网友
1楼 · 发布于 2024-05-26 17:44:12

可以定义setter方法

@property
def favoriteLanguage(self):
    return self.__favoriteLanguage

@table_name.setter
def favoriteLanguage(self, favorite_language):
    if not self.favoriteLanguage:
        self.__favoriteLanguage = favorite_language
    else:
        raise AttributeError

相关问题 更多 >

    热门问题