需要帮助来理解以下代码中的变量。
class Student:
def __init__(self,m1,m2):
self.m1 = m1
self.m2 = m2
def __add__(self, other):
m1 = self.m1 + self.m2 <---- doubt
m2 = other.m2 + other.m2
s3 = Student(m1,m2)
return s3
s1 = Student(50,60)
s2 = Student(70,80)
s3 = s1 + s2
print (s3.m1)
所以我在这里得到所需的输出110。但我的问题是,为什么应将add函数中的变量仅声明为m1而不声明为任何其他变量。它必须与“ init”函数中的变量名匹配吗?如果是,原因是什么。
答案 0 :(得分:-1)
名称无关紧要,只是为了使它更具可读性而已,这应该同样有效:
def __add__(self, other):
a1 = self.m1 + self.m2
m2 = other.m2 + other.m2
s3 = Student(a1,m2)
return s3
请注意,您必须两次修改m1
(但请在self
和other
中保持不变)
编辑:代码中似乎存在一些错误,因为m2
出现了3次,m1
仅出现了一次