当前位置: 首页 > news >正文

Python中类、继承和方法重写的使用

在这里插入图片描述

😀前言
本篇博文将介绍如何定义类、创建类的实例、访问类的成员、使用属性、实现继承及方法重写,希望你能够喜欢

🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊

文章目录

  • 面向对象程序设计(OOP)
    • 1. 定义类
      • 示例
    • 2. 创建类的实例
      • 示例
    • 3. 创建类的成员并访问
      • 示例
    • 4. 创建用于计算的属性
      • 示例
    • 5. 继承的基本语法
      • 示例
    • 6. 方法重写
      • 示例
    • 😄总结
      • 注意事项

面向对象程序设计(OOP)

面向对象编程(OOP,Object-Oriented Programming)是一种常用的编程范式,强调通过类和对象来组织代码。Python 作为一种面向对象语言,提供了强大的支持,方便开发者设计结构化的代码。

1. 定义类

在 Python 中,类是通过 class 关键字来定义的。类是一种模板,它定义了对象的属性和行为,具体语法如下:

class ClassName:"""类的帮助信息"""# 类体statement

参数说明

  • ClassName:类名,通常首字母大写,使用“驼峰式命名法”,即每个单词的首字母都大写,例如 MyClass
  • statement:类体,主要由类变量(或类成员)、方法和属性等定义语句组成。如果在定义类时,没想好类的具体功能,也可以在类体中直接使用 pass 语句代替。

示例

class Animal:"""这是一个动物类"""pass

该示例定义了一个名为 Animal 的类,当前类没有任何属性或方法,但可以用于实例化对象。

2. 创建类的实例

定义类后,可以通过调用类名来创建类的实例(对象),即实例化。创建实例的语法如下:

instance_name = ClassName(parameter_list)

其中:

  • ClassName 是类名;
  • parameter_list 是传递给类构造函数(__init__ 方法)的参数列表。如果类没有定义 __init__ 方法,参数列表可以省略。

示例

class Dog:def __init__(self, name):self.name = namedog1 = Dog("Buddy")
print(dog1.name)  # 输出:Buddy

在该示例中,Dog 类通过构造函数 __init__ 初始化对象,并将参数 name 赋值给实例属性。

3. 创建类的成员并访问

类的成员包括属性和方法,方法是在类中定义的函数。实例方法的第一个参数必须是 self,它表示实例本身,用于在方法内部访问实例的属性和其他方法。语法如下:

class ClassName:def method_name(self, parameter_list):# 方法体pass

示例

class Cat:def __init__(self, name, age):self.name = nameself.age = agedef speak(self):print(f"{self.name} says Meow!")cat1 = Cat("Whiskers", 3)
cat1.speak()  # 输出:Whiskers says Meow!

在该示例中,我们定义了一个名为 Cat 的类,并定义了一个 speak 实例方法,可以通过类的实例来访问这个方法。

4. 创建用于计算的属性

通过使用 @property 装饰器,可以将方法转换为可计算的属性,这样可以像访问属性一样调用方法。其语法如下:

class ClassName:@propertydef property_name(self):# 返回计算结果pass

示例

class Circle:def __init__(self, radius):self._radius = radius@propertydef area(self):return 3.1416 * (self._radius ** 2)circle1 = Circle(5)
print(circle1.area)  # 输出:78.54

在该示例中,Circle 类的 area 方法被定义为属性,因此可以直接通过 circle1.area 来访问,而不需要加括号。

5. 继承的基本语法

继承允许一个类从另一个类中获取属性和方法,避免重复代码。Python 支持单继承和多继承,其语法如下:

class DerivedClass(BaseClass):"""类的帮助信息"""pass

参数说明

  • DerivedClass:派生类,继承自 BaseClass
  • BaseClass:基类,派生类继承的父类。

示例

class Animal:def speak(self):print("Animal makes a sound")class Dog(Animal):def speak(self):print("Dog barks")dog1 = Dog()
dog1.speak()  # 输出:Dog barks

在该示例中,Dog 类继承了 Animal 类并重写了 speak 方法。

6. 方法重写

当派生类中需要修改或扩展基类的某些行为时,可以通过方法重写来实现。重写后的方法将覆盖基类中的方法,语法与普通方法相同。

示例

class Fruit:color = "绿色"def harvest(self):print("水果已经收获")class Orange(Fruit):color = "橙色"def harvest(self):print(f"橘子是: {self.color} 的")print(f"原来是: {Fruit.color} 的")print("橘子已经收获……")orange1 = Orange()
orange1.harvest()

在这个例子中,Orange 类继承了 Fruit 类并重写了 harvest 方法,通过 self.colorFruit.color 区分实例属性和类属性。

😄总结

面向对象编程是 Python 语言中一个重要的特性,通过类和对象,开发者可以更好地组织代码,复用代码。本文介绍了类的定义、实例化、成员访问、属性定义、继承和方法重写。

注意事项

  1. 类命名:遵循驼峰式命名法有助于代码的可读性。
  2. 继承:通过继承可以实现代码重用,但要注意多继承时的复杂性。
  3. 方法重写:重写父类方法时,确保新方法逻辑清晰且不破坏原有功能。

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

http://www.lryc.cn/news/467995.html

相关文章:

  • 【Neo4j】- 轻松入门图数据库
  • LeetCode 206 - 反转链表
  • AI生成大片,Movie Gen 可以生成长视频并配上完美的音效,带给观众更好的观看体验。
  • Flink on yarn模式下,JobManager异常退出问题
  • 面对AI算力需求激增,如何守护数据中心机房安全?
  • Connection --- 连接管理模块
  • iconfont图标放置在某个元素的最右边
  • Android10 recent键相关总结
  • Ajax:原生ajax、使用FormData的细节问题,数据的载体
  • 【HuggingFace 如何上传数据集 (2) 】国内网络-稳定上传图片、文本等各种格式的数据
  • GNOME桌面安装dock
  • 移动app测试有哪些测试类型?安徽软件测试中心分享
  • Android 10.0 截屏流程
  • Axure零基础深入浅出的讲解
  • PyTorch求导相关
  • Halcon基础-瓶盖带角度的OCR批量识别
  • php语法学习
  • JavaWeb合集22-Apache POI
  • DDD重构-实体与限界上下文重构
  • MATLAB Simulink (二)高速跳频通信系统
  • 智能合约分享
  • 【MR开发】在Pico设备上接入MRTK3(二)——在Unity中配置Pico SDK
  • 【Java】探秘正则表达式:深度解析与精妙运用
  • 2.6.ReactOS系统中从内核中发起系统调用
  • chat_gpt回答:python获取当前utc时间,将xml里时间tag里的值修改为当前时间
  • 机器学习-语言分析
  • Oracle 常见索引扫描方式概述,哪种索引扫描最快!
  • 字符串(3)_二进制求和_高精度加法
  • 《神经网络:智能时代的核心技术》
  • pdf内容三张以上转图片,使用spire.pdf.free