我正在使用 Python 2.7 开发我的第一个项目。我们来自 Java 背景,我们的第一直觉是以 Java 风格的方式编写 python 代码。但现在我们正试图尽可能地适应。到目前为止,我们正在使用pylint来调整我们的代码。
现在我一直遇到 pylint的情况。每次我使用诸如**data
将值传递给方法之类的东西时,我都会收到有关使用or的pylint警告。现在我的问题是:在编写 python 代码时使用了不好的样式吗?是否有某种标准替代品来使用它?*
**
**
问候, 博格丹
我正在使用 Python 2.7 开发我的第一个项目。我们来自 Java 背景,我们的第一直觉是以 Java 风格的方式编写 python 代码。但现在我们正试图尽可能地适应。到目前为止,我们正在使用pylint来调整我们的代码。
现在我一直遇到 pylint的情况。每次我使用诸如**data
将值传递给方法之类的东西时,我都会收到有关使用or的pylint警告。现在我的问题是:在编写 python 代码时使用了不好的样式吗?是否有某种标准替代品来使用它?*
**
**
问候, 博格丹
**
可以引入一些更棘手的错误,因为它会接受任何东西。通常,您希望代码在调用错误时中断。这是一个例子:
def dostuff(**kwargs):
force = 3
if kwargs.get('reallyhard', False):
force += 5
# and so on
# Now you need luck to find this bug ...
dostuff(fancy=True, funky=False, realyhard=True)
您不应该**
仅仅因为您懒得输入参数名称而使用。但这并不总是可能的,因此也有合法用途。
几乎不可能使用静态分析来验证生成的参数**
是否都是有效的,但如果它是唯一合适的机制,他们一定会使用它。
**
非常适合它的设计用途:将参数转发给其他函数。你肯定可以做一些坏事,这会降低你的代码的可读性,但它本身并不被认为是不好的做法。