通过“self”访问类变量是不好的做法吗?

问题描述 投票:0回答:1

这样做符合我的需要,但我想知道这是否被认为是亵渎的(或者,甚至,非Pythonic)。

示例:

class A:
    _class_specific = 1

    def __init__(self, i):
        self.instance_specific = i
        
    def get_special_sum(self):
        return self._class_specific + self.instance_specific

t = A(2)
t.get_special_sum()  #< Returns 3

这样做的原因:

我在基类中定义了一个类变量

_ID
和一个实例方法
check(self)
。子类有自己的
_ID
值。继承的
check(self)
方法必须能够访问特定于实例的变量以及给定属的
_ID
变量,它将通过
self._ID

访问该变量

虽然上面的方法很完美,但我想知道是否有更明确的方法来做到这一点? ...除了留下明显的评论以明确意图之外...

python class instance self
1个回答
0
投票

不,没问题 - 它甚至为您的项目增加了灵活性:比如说,您希望类的一个特定实例对该变量具有不同的值,您所要做的就是在该实例上设置它。只需添加一些单元测试即可确保在使用它的任何地方都从

self.
读取它,并且没有任何缺点。

© www.soinside.com 2019 - 2024. All rights reserved.