property, setter 使用
代码
__author__ = 'SamSa'
class UrlFormat(object):
def __init__(self):
self._ip = '127.0.0.1'
self.url = '%s/api' % self._ip
self._url = '%s/api'
@property
def ip(self):
return self._ip
@ip.setter
def ip(self, val):
self.url = self._url % self._ip
self._ip = val
url_instance = UrlFormat()
def _format():
global url_instance
print('url_instance.url: ', url_instance.url)
print('url_instance.ip: ', url_instance.ip)
url_instance.ip = '1231231'
print('url_instance.ip: ', url_instance.ip)
print('url_instance.url: ', url_instance.url)
_format()
执行结果
url_instance.url: 127.0.0.1/api
url_instance.ip: 127.0.0.1
url_instance.ip: 1231231
url_instance.url: 127.0.0.1/api