请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

类的方法里的形参可以重名吗?

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那会有问题吧

还是说要避免用同名的形参?


正在回答 回答被采纳积分+3

1回答

慕少9454475 2018-05-23 16:38:33

你在方法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()

不知道你的想法是不是这样的

0 回复 有任何疑惑可以回复我~
  • 提问者 大副大 #1
    我这里用那么只是举个例子,两个实例的参数都有name这个名字,不过我知道这样应该是可以的,只要在实例函数里面用不同的参数来接收吧
    回复 有任何疑惑可以回复我~ 2018-05-26 18:04:25
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信