def strip_defaults(self):
"""
Returns self.parameters list with all default values stripped from right
side.
That means, if last parameter is default, it's removed from list; if
before-last parameter is default, it's removed as well; et cetera et
cetera until first non-default parameter is reached.
if as_strings is set to True, all parameters are converted to apropriate
strings (x.name for enums, x.encode('string_escape') for strings,
"""
argspec = inspect.getargspec(self.__class__.__init__)
required_count = len(argspec.args) - len(argspec.defaults) - 1
d = list(argspec.defaults)
l = list(self.parameters)
while len(d) and len(l) > required_count and d[-1] == l[-1]:
d, l = d[:-1], l[:-1]
return l
评论列表
文章目录