【发布时间】:2017-04-10 05:01:38
【问题描述】:
我发现自己不确定是否应该将我在类中使用的某些变量设置为私有类变量(例如 _var)vs 类常量变量(例如 VAR)vs 私有类常量变量,如果这样的话使用(例如_VAR)。我意识到除了约定之外,这在 Python 中并不重要,但我想知道哪种方式是正确的(或更正确的)。
例如,假设我有一个用于存储高度的正则表达式模式的变量。假设我无意在类中的任何地方或代码的其他地方修改它,实际上我只在其中一个类方法中使用它,我应该这样做:
选项 1 - 设置为私有类变量:
_height_pattern = r"""(#'##?"?)|#'"""
选项2 - 设置为常量类变量
HEIGHT_PATTERN = r"""(#'##?"?)|#'"""
选项 3 - 设置为常量私有类变量(不确定是否存在这样的东西,或者我是否曾经看到过在此中声明的变量)
_HEIGHT_PATTERN = r"""(#'##?"?)|#'"""
或者也许是我没有想到的其他选择。请注意,在这种情况下,我选择了一个变量,我认为人们能够以一种或另一种方式提出一个很好的案例。但是,还有其他情况我觉得它会更加模糊。例如,如果我有一个随机种子变量(_SEED=2000?),其更改不会对功能产生根本影响?因此,如果您能分享一些易于遵循的经验法则,我们也将不胜感激。
【问题讨论】:
标签: python coding-style