Python 属性最佳实践,属性内的函数

标签 python properties

<分区>

将属性作为非常基本操作的结果是一种好的做法吗? 例如,假设我们有属性“a”和“b”,我们可以直接从“a”和“b”推断出属性“c”。这被认为是糟糕的编码风格吗?

@property 
def c(self):
    return self.a + self.b

谢谢!

最佳答案

即使对于非常简单的计算,使用属性的一个好处是如果a,属性的有效值将自动更新。或 b变化。

例如,如果 c不是属性,您必须更新 self.c 的值每次self.aself.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 - 将文本转换为其行列表

python - 将按行排序的数据帧映射到原始列标签(Pandas),但仅限那些值大于零的标签

javascript - 概念 : Creating a function that acts like a constructor in JavaScript

c# - 在 set 属性中使用 console.ReadLine()

c# - 如何从属性访问 lambda 中提取对象引用