我试图将Python 3.5.2的xmlrpc.client ServerProxy()子类化,以便自定义与XML服务器的通信。但是,我对ServerProxy如何命名其属性感到不安。
属性在&x; xmlrpc / client.py'中非常清楚地命名:
class ServerProxy:
...
self.__transport = ...
self.__encoding = ...
self.__verbose = ...
...
然而,当我尝试以交互方式检查对象时,对象的属性预先设置了' _ServerProxy':
import xmlrpc.client
my_client = xmlrpc.client.ServerProxy('http://01.234.567.890')
my_client.__dict__
Out[3]:
{'_ServerProxy__allow_none': False,
'_ServerProxy__encoding': 'utf-8',
'_ServerProxy__handler': '/RPC2',
'_ServerProxy__host': '01.234.567.890:8000',
'_ServerProxy__transport': <xmlrpc.client.Transport at 0x1043c4320>,
'_ServerProxy__verbose': False}
代码是如何/在哪里进行动态重命名?我思考我理解__getattr__()
和朋友,但我不能为我的生活找出这种情况发生的地方。