在 Python 中,以下代码是有效的:
class A:
def __init__(me):
me.foo = 17
def print_foo(myself):
print(myself.foo)
def set_foo(i, v):
i.foo = v
正如您可能已经注意到的,self
参数被命名me
in the __init__
方法,myself
in the print_foo
方法和i
in the set_foo
method.
是否存在命名的情况self
参数除了self
有用吗?如果不是,为什么 Python 允许这样做,因为这肯定是一种编写难以阅读和维护的代码的方式,而且也是混乱的根源?
PEP 8 非常清楚地解决了这个问题:
总是使用self
对于实例方法的第一个参数。
总是使用cls
对于类方法的第一个参数。
虽然记得是蟒蛇时尚指南这是不强制执行
然而,知道什么时候要不一致——有时是风格指南
建议根本不适用。如有疑问,请尽力而为
判断。查看其他示例并决定哪个看起来最好。
有时,like in fractions.py在标准库中,您可能会更清楚使用类似的东西a,b
代替self,other
因为<your specific reasons>
风格指南实际上在上面的引用下面列出了一些你可能会打破惯例的原因:
忽略特定准则的其他一些充分理由:
- 应用指南会降低代码的可读性,即使对于习惯阅读遵循此 PEP 的代码的人也是如此。
- 为了与周围的代码保持一致,这些代码也会破坏它(可能是出于历史原因)——尽管这也是一个清理的机会
搞乱别人的事情(真正的 XP 风格)。
- 因为相关代码早于指南的引入,并且没有其他原因需要修改该代码。
- 当代码需要与不支持样式指南推荐的功能的旧版 Python 保持兼容时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)