课程中的代码class Student(People):中的people哪里来的呢?

来源:9-12 成员可见性:公开和私有

qq_玉_6

2017-12-14

class Employee():
    sum =0
    def __init__(self,name,age,salary):
        self.name=name
        self.age=age
        self.salary=0
        self.__class__.sum+=1
    #def displayEmployee(self):
    #    print ("Name : ", self.name,  ", Salary: ", self.salary)
emp1=Employee('mali',18)
emp1.salary=3000

我这样像例题一样使用是报错的,不知道是不是由于缺了People类

写回答

4回答

7七月

2017-12-16

这个不是课程中的代码吧,我没有使用过这个类呀。

0
1
有你的世界
他自己写了个例子
2017-12-17
共1条回复

慕瓜6415627

2017-12-14

  1. init构造函数需要传3个参数,name、age、salary,但是你实例化的时候只传了两个参数,少一个salary参数,所以会报错

  2. 看你写的代码的意思,我理解你是想把salary赋初始值为0,如果是这样的话,定义init函数时,salary参数直接赋值为0,def __init__(self,name,age,salary=0):,然后self.salary=salary


class Employee():
    sum =0
    def __init__(self,name,age,salary=0):
        self.name=name
        self.age=age
        self.salary=salary
        self.__class__.sum += 1

    def displayEmployee(self):
        print ("Name : ", self.name,  ", Salary: ", self.salary, Employee.sum)
emp1=Employee('mali',18)
emp1.salary=3000
emp1.displayEmployee()
emp2 = Employee('heihei',19)
emp2.displayEmployee()


0
0

有你的世界

2017-12-14

people是导进来来的

0
0

有你的世界

2017-12-14

你构造方法传入的参数数量都不对,应该把name,age,salary这三个都传进去的

0
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14640 学习 · 4477 问题

查看课程