小编pap*_*cut的帖子

setattr()和object .__ setattr __()之间有什么区别?

我知道你不能调用object.__setattr__没有继承的对象object,但两者之间还有什么不同吗?我正在使用Python 2.6,如果这很重要的话.

python setattr

10
推荐指数
1
解决办法
4749
查看次数

在Python中使用单元化变量

背景:我有一个用寄存器建模芯片的类,芯片有一堆寄存器,其中一个是内置温度传感器的高温限制.

我有以下内容:

class foo():
  def __init__(self):
    # does not set self._hiTemp!
    ...
  def setHiTemp(self, t):
    self._hiTemp = t
  def getHiTemp(self):
    return self._hiTemp
  def checkHiTemp(self):
    return self._temp > self._hiTemp
Run Code Online (Sandbox Code Playgroud)

我不申报的原因self._hiTemp__init__是因为用户可能不关心芯片的温度感测功能.用户可以以不同的方式使用芯片,并且赋予该变量无意义的值没有意义.但是,如果用户在self._hiTemp没有先设置的情况下尝试使用,则使用未声明变量的错误比一些模糊错误(如比较数字和无(或者在某些情况下甚至根本没有错误)更容易调试/回溯).

这一切都很好,直到我开始pylint,当然我得到W0201:在init之外定义的属性几乎无处不在.我只是想知道这种编码风格是否令人不满,如果是这样,"Pythonic方式"是什么.

谢谢

python initialization pylint

4
推荐指数
2
解决办法
2165
查看次数

标签 统计

python ×2

initialization ×1

pylint ×1

setattr ×1