我写了一些有用的Python代码,但是Pylint并不喜欢这个明星.它一直告诉我:
Used * or ** magic (star-args)
Run Code Online (Sandbox Code Playgroud)
没有明星可以编写我的代码吗?一些信息:我正在使用lxml ; self.xml是一个客观化的 XML文件.
@property
def version_string(self):
'''Return the version as a string.'''
try:
version_format = self.xml.version.get("format")
except AttributeError:
return None
version_values = (v.text for v in self.xml.version.v)
return version_format.format(*version_values)
Run Code Online (Sandbox Code Playgroud)
Mar*_*cin 11
splat运算符没有任何问题.在不知道version_format函数的作用的情况下,不可能说你是否可以传递一个iterable,或直接迭代函数,但坦率地说没有理由.
如果您不喜欢该pylint警告,请将其禁用.它最初是因为有很多而引入的
def some_function(*args, **kwargs):
pass
Run Code Online (Sandbox Code Playgroud)
降低了代码的可读性/可维护性.