第十二章:互联网-xmlrpc.client:XML-RPC的客户库-传递对象

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))

值从服务器发送回客户时,结果将是客户中的一个字典。这个结果反映了一个事实:这些值中没有编码相应的信息来告诉服务器(或客户)要把它实例化为一个类的一部分。
在这里插入图片描述