<分区>
将属性作为非常基本操作的结果是一种好的做法吗? 例如,假设我们有属性“a”和“b”,我们可以直接从“a”和“b”推断出属性“c”。这被认为是糟糕的编码风格吗?
@property
def c(self):
return self.a + self.b
谢谢!
标签 python properties
<分区>
将属性作为非常基本操作的结果是一种好的做法吗? 例如,假设我们有属性“a”和“b”,我们可以直接从“a”和“b”推断出属性“c”。这被认为是糟糕的编码风格吗?
@property
def c(self):
return self.a + self.b
谢谢!
最佳答案
即使对于非常简单的计算,使用属性的一个好处是如果a
,属性的有效值将自动更新。或 b
变化。
例如,如果 c
不是属性,您必须更新 self.c
的值每次self.a
或 self.b
改变了:
self.a += 1
self.c = self.a + self.b
但是如果c
是一个属性,你可以简单地写
self.a += 1
self.c # will already have the updated value
关于Python 属性最佳实践,属性内的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18699969/
相关文章:
python - 使用fastavro从Kafka反序列化Avro
python - 如何更改 PySpark 中的数据框列名称?
python - LinearSVC中 `penalty`和 `loss`的含义
java - 将属性存储到文本文件中时,文本文件中属性的写入顺序与代码执行顺序相反
powershell - 如何在 Powershell Active Directory cmdlet 中引用对象的属性?
python - 将按行排序的数据帧映射到原始列标签(Pandas),但仅限那些值大于零的标签
javascript - 概念 : Creating a function that acts like a constructor in JavaScript