Python简单示例-类与继承

创建员工类,员工有姓名和薪资属性,定义类和创建实例对象调用方法

class Employee:
    emp_count=0
    def __init__(self,name,salary):
        self.name=name
        self.salary=salary
        Employee.emp_count+=1
    def display_count(self):
        print("员工总数%d"%Employee.emp_count)
    def display_employee(self):
        print("姓名:",self.name,",薪资:",self.salary)

#创建Employee类的第一个对象
emp1=Employee("Zero",2000)
#创建Employee类的第二个对象
emp2=Employee("Manni",5000)
emp1.display_employee()
emp2.display_employee()
print("员工总数:  %d" % Employee.emp_count)

self代表类的实例,self在定义类的方法时是必须要有的,在调用时不必传入相应的参数吗,它是被系统自动传入的。
实例化的对象通过__init__方法接收参数

2、继承实例

class Person:
    def __init__(self,name,age,gender):
        self.name=name
        self.age=age
        self.gender=gender
class Student(Person):
    def show(self):
        print('姓名:',self.name,'年龄:',self.age,'性别:',self.gender)
        # print("名字:",self.name)
        # print("年龄:",self.age)
        # print("性别:",self.gender)
lilei=Student('李磊','20','男')
lilei.show()
hanmeimei=Student('韩梅梅','21','女')
hanmeimei.show()

运行结果:

姓名: 李磊 年龄: 20 性别: 男
姓名: 韩梅梅 年龄: 21 性别: 女

3、家庭Familly类

class Familly():
    def __init__(self,surname,num,age):
        self.surname=surname
        self.num=num;
        self.age=age
    def get_surname(self):
        if isinstance(self.surname,str):
            return self.surname
    def get_num(self):
        if isinstance(self.num,int):
            return self.num
    def get_age(self):
        sum=0
        for i in self.age:
            sum=sum+i
        if isinstance(sum,int):
            return round(sum/len(self.age))
xiaok=Familly('开',4,[20,24,45,40])
print("姓氏:",xiaok.get_surname())
print("人数:",xiaok.get_num())
print("家庭平均年龄:",xiaok.get_age())

4、使用@property给screen类加上width和height属性,以及只读属性resolution

class Screen(object):
    @property
    def width(self):
        return self._width
    @width.setter
    def width(self,value):
        self._width=value

    @property
    def height(self):
        return self._height
    @height.setter
    def height(self,value):
        self._height=value

    @property
    def resolution(self):
        return self.width*self._height

#测试
s=Screen()
s.width=1024
s.height=768
print('resolutin=',s.resolution)
if s.resolution==1024*768:
    print('测试通过')
else:
    print('测试失败')

解析:分别定义Screen类的width与height方法,每个方法中都有getter与setter方法,使用@property将方法变成属性。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值