python - 直接属性访问是否比定义的 API 多 "pythonic"

标签 python

<分区>

什么是“Pythonic”?

user.fullname = fullname
user.gender= gender
user.description = description

对比

user.update_profile(fullname, gender, description)

显然,后者在大多数情况下(以及我的偏好)只是前者的包装器,但是我在网上看到所有关于直接访问(使用属性装饰器)如何更 pythonic 的讨论,我只是好奇。

最佳答案

两者都或多或少是 Pythonic 的;他们有不同的用例。

当您希望能够一个一个地更新属性时,请使用前者。在需要时将其替换为属性。但是,当设置属性具有超出验证的副作用时,请务必使用显式方法。

当您必须一次更新所有三个属性时使用后者,例如当您需要对值的组合进行健全性检查时。没有特殊的语法可以合理地替代这个习语。

关于python - 直接属性访问是否比定义的 API 多 "pythonic",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12289945/

相关文章:

python - 有没有最好的方法可以在 Python 中将给定的天数更改为年月周天?

python - 关于 Python 元组解包的说明

python - 在 Python/Bash 中通过 SSH/Sudo 测试文件/目录是否存在

python - 尝试查询 Log Analytics 工作区表时出现 "Requested Path Does Not Exist"

python - Django 命中计数基于类的 View

python - 根据 numpy 数组中的行生成唯一值

python - 如何为需要文件名而不是变量的 python 子进程调用提供输入?

python - 重新编号数组中元素的有效方法

python - 如何在 pandas 的 groupby().mean() 之后获取索引值列表?

python - SciPy optimize.fmin ValueError : zero-size array to reduction operation maximum which has no identity