7.9 我们有一个之定义了一个方法的类,为了简化代码,如何使用一个函数来代替这个类
- 可以通过闭包(closure)将其转换为函数。如下
>>> from urllib.request import urlopen
>>> class UrlTemplate:
... def __init__(self,template):
... self.template=template
... def open(self,**kwargs):
... return urlopen(self.template.format_map(kwargs))
...
>>> y =UrlTemplate("https://brilliantlife.com.cn:8020/admin/")
>>> for line in y.open(name='泰达',fields='s11clv'):
... print(line.decode('utf-8'))
...
>>> def urltemplate(template):
... def opener(**kwargs):
... return urlopen(template.format_map(kwargs))
... return opener
...
>>> y =urltemplate("https://brilliantlife.com.cn:8020/admin/")
>>> for line in y.open(name='泰达',fields='s11clv'):
... print(line.decode('utf-8'))
...
网友评论