12.10.3 传递对象
Python类的实例被处理为结构,并作为字典传递,对象的属性将作为字典中的值。
import xmlrpc.client
import pprint
class MyObj:
def __init__(self,a,b):
self.a = a
self.b = b
def __repr__(self):
return 'MyObj({!r},{!r})'.format(self.a,self.b)
server = xmlrpc.client.ServerProxy('http://localhost:9000')
o = MyObj(1,'b goes here')
print('o :',o)
pprint.pprint(server.show_type(o))
o2 = MyObj(2,o)
print('\no2: ',o2)
pprint.pprint(server.show_type(o2))
值从服务器发送回客户时,结果将是客户中的一个字典。这个结果反映了一个事实:这些值中没有编码相应的信息来告诉服务器(或客户)要把它实例化为一个类的一部分。