运行了一下这段代码,发现不会报错。尴尬了,我不懂为什么会这样
看到如下代码
def _prepare(self, api_name, param_array, file_array):
if not api_name.startswith('/'):
api_name = '/' + api_name
self.request_url = self.api_host - '/' if self.api_host.endswith('/') else self.api_host
prepare方法中,self.api_host是个字符串
那么 self.api_host - '/' 是啥意思呢?
命令行中尝试了一下这个,会报错的啊
我猜 他原意是想:如果api_host以/结尾的话,就去掉(减去)。
但是字符串只支持+,不支持-。
(我擦,没有注意你第一句话:代码没有报错)
应该是运算符重载了。如果楼上所说,你整个项目全局搜索一下__sub__呢。
不过,我个人觉得,这种做法挺low的。会导致代码可读性太差。