Python "protected"属性

标签 python

如何从子类访问父类的私有(private)属性(不公开)?

最佳答案

我对 Python 约定的理解是

  • _成员 protected
  • __member 是私有(private)的

如果你控制父类的选项

  • 将其设为 protected 而不是私有(private) 因为那看起来就像你真的 想要
  • 使用 getter (@property def _protected_access_to_member...) 来限制 protected 访问

如果你不控制它

  • 撤消名称修改。如果你 dir(object) 你会看到名字 像 _Class__member 这样的东西 Python 做了什么来引导 __ 到 “将其设为私有(private)”。没有 在 python 中真正私有(private)。这可能被认为是邪恶的。

关于Python "protected"属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/797771/

相关文章:

Python:如何计算数据框中特定列中的特定值

python - 根据另一个短列表对对象列表进行排序 python

python - 你如何从 Python 的 Sprite 表中选择 Sprite 图像?

python - django - urls.py 如何区分几乎相同的 url

python - 如何修复 python 中的错误 "illegal target for annotation"?

python - 在 Python 中计算大型列表的标准偏差的更有效方法

python - 使用 df.dropna() 返回 NoneType 对象

python - 如何有效地将两个时间序列组合起来交替使用?

python - SQLAlchemy-连续体和 Pyramid : UnboundExecutionError

python - pandas.DataFrame.to_sql 的进度条