cmc*_*nty 13 python name-mangling private-members
Python 为类方法和属性提供私有名称修改.
是否有任何需要此功能的具体情况,或者它只是Java和C++的延续?
请描述一个应该使用Python名称修改的用例,如果有的话?
此外,我对作者仅仅试图防止意外外部属性访问的情况不感兴趣.我相信这个用例与Python编程模型不一致.
Ric*_*dle 25
这部分是为了防止意外的内部属性访问.这是一个例子:
在您的代码中,这是一个库:
class YourClass:
def __init__(self):
self.__thing = 1 # Your private member, not part of your API
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我将继承您的库类:
class MyClass(YourClass):
def __init__(self):
# ...
self.__thing = "My thing" # My private member; the name is a coincidence
Run Code Online (Sandbox Code Playgroud)
如果没有私人名称错误,我意外重复使用您的名字会破坏您的库.