33 Python类的继承

 欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力

对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426@qq.com 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    专栏:

文章概述:对Python继承的介绍

关键词:Python继承

本文目录

Python继承

继承的基本概念

Python 的命名约定:

Person 类:

Worker 类:

  

Python继承

继承是面向对象编程(OOP)中的一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。这样,子类可以重用父类的代码,同时也可以扩展或修改这些功能。继承的基本思想是“复用”和“扩展”。

继承的基本概念

  1. 父类(基类):被继承的类。它包含了基本的属性和方法。
  2. 子类(派生类):继承父类的类。它可以使用父类的属性和方法,同时可以添加自己的属性和方法,或者重写(覆盖)父类的方法。

class Person(object):
    amount = 0

    def __init__(self, name, age, height):
        self.name = name
        self.age = age
        self.height = height
        Person.amount += 1

    def __del__(self):
        Person.amount -= 1

    def __str__(self):
        return "Name: {}, Age: {}, Height: {}".format(self.name, self.age, self.height)

#继承父类
class Worker(Person):
    def __init__(self, name, age, height, salary):
    #调用父类的初始化方法,传入相应参数
        super(Worker, self).__init__(name, age, height)
        self.salary = salary
    #重写父类方法,
    def __str__(self):
        #调用父类的输出方法
        text = super(Worker, self).__str__()
        #添加元素
        text += ", Salary : {}".format(self.salary)
        return text
    #定义自己的方法
    def calc_yearly_salary(self, num_months=12):
        return self.salary * num_months

#实例化对象
worker1 = Worker("henry", 40, 176, 8000)
print(worker1)

print(worker1.calc_yearly_salary())
print(worker1.calc_yearly_salary(num_months=14))

Python 的命名约定:

  • Python 的标准库和内置对象名通常使用小写字母来命名。例如,objectlistdicttuple 等。这样的命名风格与 Python 的命名约定一致,其中类名通常使用大写字母(驼峰命名法),而模块和内置对象名使用小写字母(下划线分隔)。

Person 类:

class Person(object):基类默认继承object 类,可不写

  • Person 是基类,定义了人的基本属性和方法。
  • 包含了属性 nameageheight,以及类变量 amount 用于跟踪实例数量。
  • __init__ 初始化方法用于设置实例的属性,并更新 amount
  • __del__ 方法在实例被删除时减少 amount
  • __str__ 方法提供了一个字符串表示方式,显示实例的基本信息。

Worker 类:

  • Worker 是从 Person 继承的子类。
  • 通过 super(Worker, self).__init__(name, age, height) 调用父类的初始化方法,确保 Worker 实例能够继承 Person 的属性。
  • 添加了额外的属性 salary,用于表示工人的薪水。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值