Cha*_*row 2 python coding-style naming-conventions
什么是在init函数中初始化实例变量的最佳方法.两次使用相同的名字是不好的风格?
class Complex:
def __init__(self, real, imag):
self.real = real
self.imag = imag
Run Code Online (Sandbox Code Playgroud)
对我来说,提出像这样的任意替代名称看起来很草率:
class Complex:
def __init__(self, realpart, imagpart):
self.r = realpart
self.i = imagpart
Run Code Online (Sandbox Code Playgroud)
我不认为这在PEP 8风格指南中得到了解决.它只是说实例变量和方法名称应该是小写的,下划线分隔单词.
Ale*_*ler 13
这可能是主观的,但我不认为两次使用相同名称的风格很差.因为self它不是隐含在Python中,self.real并且real完全不同,并且没有名称隐藏等的危险,因为您在其他语言中遇到过(例如C++/Java,其中命名参数如成员有点不受欢迎).
实际上,给参数提供与成员相同的名称会给出一个强大的语义提示,即参数将逐个映射到成员.