gpt4 book ai didi

python - 何时应将变量设置为私有(private)类变量(例如 _var)与类常量(例如 VAR)或私有(private)类常量(例如 _VAR)?

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:24 29 4
gpt4 key购买 nike

我发现自己不确定是否应该将我在我的类中使用的某些变量设置为私有(private)类变量(例如 _var)与类常量变量(例如 VAR)与私有(private)类常量变量,如果这样的话使用(例如 _VAR)。我意识到除了约定之外,这在 Python 中并不重要,但想知道哪种方式是正确的(或更正确的)。

例如,假设我有一个特定的变量来存储高度的正则表达式模式。假设我无意在类中的任何地方或代码中的其他地方修改它,事实上我只在一个类方法中使用它,那么我应该使用它:

选项 1 - 设置为私有(private)类变量:

_height_pattern = r"""(#'##?"?)|#'"""

选项 2 - 设置为常量类变量

HEIGHT_PATTERN = r"""(#'##?"?)|#'"""

选项 3 - 设置为常量私有(private)类变量(不确定是否存在这样的东西,或者我是否曾经看到过在此声明的变量)

_HEIGHT_PATTERN = r"""(#'##?"?)|#'"""

或者也许是我没有想到的其他选择。请注意,在这种情况下,我选择了一个变量,我认为人们能够以一种或另一种方式提出一个好的案例。但是,在其他情况下,我觉得它会更加模糊。例如,如果我有一个随机种子变量 (_SEED=2000?),其更改不会对功能产生根本影响怎么办?因此,如果您能分享一些易于遵循的经验法则,我们也将不胜感激。

最佳答案

and in fact I only use it in one of the class methods

那么毫无疑问,这根本不应该是一个类变量。我会在方法内部将其声明为常量。

但是,我知道你的问题比你给出的这个例子要宽泛一点,所以让我们想象一下你所说的这个变量将在不止一种方法中使用。在这种情况下,因为我也从未见过类似选项 3 的东西(而且它很难看),你应该选择选项 2,因为更重要的是你的代码表明这个变量到被修改而不是告诉它不应该在它的类之外访问。

关于python - 何时应将变量设置为私有(private)类变量(例如 _var)与类常量(例如 VAR)或私有(private)类常量(例如 _VAR)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40810998/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com