python - 如何使自定义对象中未公开的某些属性?不使用 self.__name
问题描述
例如,我有一个实例:
class Job(object):
def __init__(self, name, client=None):
self.name = name
self.client = client
job = Job('test')
job.client # I don't want the client to be accessed outside, as it's only as an internal attribute.
通过在社区中搜索,我没有找到我想要的解决方案。
虽然我知道将客户端设置为__client
可以实现这一点,但我不想更改属性名称。
我猜一些魔术函数能够实现这一点,比如__dict__
or __getattr__
。有人可以告诉我一些想法吗?非常感谢。
解决方案
推荐阅读
- kotlin - 到目前为止,Kotlin measureTime 与 kotlinx-benchmark (jmh) 不同
- angular - Web Audio API getByteTimeDomainData 返回平面 128(全为零)
- file - 在 svelte 中显示文件内容
- angular - 如何在星云中没有全局微调器的情况下导航?
- python - 在 Python 中处理执行的系统命令错误
- c# - C# - “非空”条件的级联
- javascript - 如何在 React 中创建新行?
- python - 在 ElasticSearch 中,如何搜索大量关键字
- java - 将 java 从 MainActivity.java 移动到 HomeFragment.java 导致错误认为相同的代码
- c++ - 为散列函数定义一个 c++20 概念