python 类私有变量和一般变量的区别_python – 当变量应该设置为私有类变量(例如_var)vs类常量(例如VAR)vs私有类常量(例如_VAR)?...

我发现自己不确定是否应该将我在类中使用的某些变量设置为私有类变量(例如_var)vs类常量变量(例如VAR)与私有类常量变量(如果使用这样的东西)(例如_VAR).我意识到除了惯例之外,这在

Python中并不重要,但想知道哪种方式是正确的(或更正确).

例如,假设我有一个用于存储高度的正则表达式模式的变量.假设我无意在类中或代码中的其他地方修改它,实际上我只在其中一个类方法中使用它,我应该使用它:

选项1 – 设置为私有类变量:

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

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

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

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

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

或者也许是其他一些我没有想过的选择.请注意,在这种情况下,我选择了一个变量,我认为人们可以通过这种方式或其他方式做出好的结果.但是,还有其他情况我觉得它更模糊.例如,如果我有一个随机种子变量(_SEED = 2000?),其变化对功能没有根本影响怎么办?因此,如果您可以分享一些易于遵循的经验法则,那也值得赞赏.

最佳答案

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

那么毫无疑问,这根本不应该是一个类变量.我会在方法中声明它作为常量.

但是,我知道你的问题比你给出的这个例子更广泛,所以让我们假设你所说的这个变量将被用在多个方法中.在这种情况下,因为我也从未见过像选项3那样的东西(而且它很丑陋),你应该使用选项2,因为更重要的是你的代码说这个变量不被修改而不是告诉它不应该在课外访问.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值