类的方法里的形参可以重名吗?
来源:9-9 在实例方法中访问实例变量与类变量
大副大
2018-05-21
class Student(): name = 'he' age = 0 def __init__(self, name, age): self.name = name self.age = age def do_homework(self): print('homework') def marking(self, score, name): self.score = score print(self.name + str(self.score))
有两个名字都是name的形参,怎么在类里面调用,用什么区别呢,如果都是self.name那会有问题吧
还是说要避免用同名的形参?
写回答
1回答
-
慕少9454475
2018-05-23
你在方法marking中添加个name的参数是什么目的呢?没有看明白,如果你的想法是将分数和名字传进去完全可以将score定义成一个类变量啊然后再方法marking中调用
class Student(): # 将name age score定义成类变量 name = 'he' age = 0 score = 0 # 构造函数 def __init__(self, name, age, score): self.name = name self.age = age self.score = score # def do_homework(self): # print('homework') # marking方法不需要定义任何一个参数,直接使用self.name self.age self.score def marking(self): print("同学" + self.name + "的分数是:" + str(self.score)) # 实例化类 student = Student("张三", 18, 60) student.marking() student1 = Student("李四", 20, 80) student1.marking() student2 = Student("王五", 22, 100) student2.marking()
不知道你的想法是不是这样的
012018-05-26
相似问题