sds*_*sds 5 python inheritance class
我有几节课:
class Sup:
def meth (self, ?????):
pass
class Sub1(Sup):
def meth (self, foo = 1):
...
class Sub2(Sup):
def meth (self, bar = 2, baz = 3):
...
Run Code Online (Sandbox Code Playgroud)
我?????该Sup.meth用什么替换?
基本上,我想要一些类似于&restLisp中被忽略的lambda-list关键字来安抚arguments-differ/Arguments number differs from overridden method警告.
我尝试了什么:
**kwargs到Sup.meth- 没有改变任何东西Sub*.meth与# pylint: disable=arguments-differ-作品,但丑陋.PS.Sup是一个收集统计数据的抽象类; Sub*有不同的方法来做到这一点; meth用不同的铃铛和口哨打印物体.
我发现 pylint 对许多 Python 功能有不同寻常的看法。它认为some_function(*list_of_args)是“坏魔法”,例如(W0124)。
当您和 pylint永远不会就某个“问题”达成一致时,解决方案不是在代码中添加奇怪的注释,而是在~/.pylintrc. (pylint --generate-rcfile将输出一个示例配置文件,您可以自己编辑该文件。)在那里,您可以设置:
故意未使用的变量的正则表达式:dummy-variables-rgx=_$|__$
变量、类和常量名称的正则表达式:function-rgx=[a-z_][a-z0-9_]{0,30}$
静默单个警告或整个消息类别(“IRCWEF”之一):disable=I0011,W0142,R。
~/.pylintrc这是我发现你可以禁用某些东西的唯一I0011: "Locally disabling %s"方法 --- 比如 " ,因为本地静音 I0011 本身会生成另一个 I0011 消息(这完全是虐待狂)。
对于项目,我通常创建一个单行 shell 脚本来进一步禁用我不打算修复的内容:
#!/bin/bash
pylint --output=colorized --disable=C0103 *.py | less -R -
# :C0103 (invalid-name): *Invalid name "%s" for type %s (should match %s)*
Run Code Online (Sandbox Code Playgroud)
翻译:“我已经知道前一个家伙有他自己的命名约定,所以请不要再告诉我 8000 遍。”
| 归档时间: |
|
| 查看次数: |
3429 次 |
| 最近记录: |