欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力
对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426@qq.com 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。
专栏:
文章概述:对Python继承的介绍
关键词:Python继承
本文目录:
Python继承
继承是面向对象编程(OOP)中的一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。这样,子类可以重用父类的代码,同时也可以扩展或修改这些功能。继承的基本思想是“复用”和“扩展”。
继承的基本概念
- 父类(基类):被继承的类。它包含了基本的属性和方法。
- 子类(派生类):继承父类的类。它可以使用父类的属性和方法,同时可以添加自己的属性和方法,或者重写(覆盖)父类的方法。
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 的标准库和内置对象名通常使用小写字母来命名。例如,
object
、list
、dict
、tuple
等。这样的命名风格与 Python 的命名约定一致,其中类名通常使用大写字母(驼峰命名法),而模块和内置对象名使用小写字母(下划线分隔)。
Person
类:
class Person(object):基类默认继承object 类,可不写
Person
是基类,定义了人的基本属性和方法。- 包含了属性
name
、age
和height
,以及类变量amount
用于跟踪实例数量。 __init__
初始化方法用于设置实例的属性,并更新amount
。__del__
方法在实例被删除时减少amount
。__str__
方法提供了一个字符串表示方式,显示实例的基本信息。
Worker
类:
Worker
是从Person
继承的子类。- 通过
super(Worker, self).__init__(name, age, height)
调用父类的初始化方法,确保Worker
实例能够继承Person
的属性。 - 添加了额外的属性
salary
,用于表示工人的薪水。