可以格式化没有*魔术的列表?

Mr.*_*eah 7 python pylint

我写了一些有用的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警告](http://stackoverflow.com/a/20639659/1599111). (6认同)

gur*_*lex 7

如果您不喜欢该pylint警告,请将其禁用.它最初是因为有很多而引入的

def some_function(*args, **kwargs):
    pass
Run Code Online (Sandbox Code Playgroud)

降低了代码的可读性/可维护性.