【数据分析之道-基础知识(十一)】面向对象

news2024/10/1 9:38:33

在这里插入图片描述

文章目录

  • 专栏导读
  • 1、简介
  • 2、类与对象
  • 3、属性和方法
  • 4、继承
  • 5、多态

专栏导读

✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。

本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《数据分析案例》 ,《机器学习案例》

😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪

订阅专栏阅读:《数据分析之道》
【数据分析之道-基础知识(一)】字符串
【数据分析之道-基础知识(二)】列表
【数据分析之道-基础知识(三)】元组
【数据分析之道-基础知识(四)】字典
【数据分析之道-基础知识(五)】集合
【数据分析之道-基础知识(六)】函数
【数据分析之道-基础知识(七)】高级函数
【数据分析之道-基础知识(八)】循环语句
【数据分析之道-基础知识(九)】推导式
【数据分析之道-基础知识(十)】Lambda函数

1、简介

Python 是一种面向对象的编程语言,它提供了丰富的面向对象编程特性和语法。面向对象编程(OOP)是一种编程范式,它将数据和与之相关的操作封装在对象中,通过定义类和实例化对象来实现程序的组织和设计。

在 Python 中,面向对象编程的核心概念包括类(Class)、对象(Object)、属性(Attribute)、方法(Method)、继承(Inheritance)和多态(Polymorphism)等。

2、类与对象

类是对象的蓝图或模板,它定义了一组属性和方法,用于描述具有相同特征和行为的对象的集合。对象是类的实例,它具有类定义的属性和方法。

在 Python 中,定义类使用 class 关键字,通过类创建对象的过程称为实例化。以下是定义一个简单类的示例:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        print(f"Hello, my name is {self.name}.")

# 创建对象
person1 = Person("Alice", 25)
person2 = Person("Bob", 30)

# 调用对象的方法
person1.greet()
person2.greet()

Person 是一个类,它有两个属性 name 和 age,以及一个方法 greet。通过调用 Person 类的构造函数 init,可以创建 Person 类的实例(对象)。每个对象都有自己的属性值,通过 self 关键字来引用。

3、属性和方法

属性是对象的特征或状态,用于存储对象的数据。方法是对象的行为或操作,用于实现对象的功能。

在类中定义属性和方法时,需要使用特殊的 self 参数,它代表对象自身。通过 self,可以访问和操作对象的属性和方法。

以下是一个包含属性和方法的类示例:

class Rectangle:
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def area(self):
        return self.width * self.height

    def perimeter(self):
        return 2 * (self.width + self.height)

# 创建对象
rectangle = Rectangle(5, 3)

# 调用对象的方法和访问属性
print("Area:", rectangle.area())
print("Perimeter:", rectangle.perimeter())
print("Width:", rectangle.width)
print("Height:", rectangle.height)

Rectangle 类有两个属性 width 和 height,以及两个方法 area 和 perimeter。通过创建 Rectangle 对象并调用对象的方法,可以计算矩形的面积和周长,以及访问矩形的宽度和高度。

4、继承

继承是面向对象编程中的一个重要概念,它允许一个类继承另一个类的属性和方法。通过继承,可以建立类之间的层次结构,从而实现代码的重用和扩展。

在 Python 中,使用 class ChildClass(ParentClass) 的形式来实现继承。子类(派生类)继承了父类(基类)的属性和方法,并可以定义自己的新属性和方法。

以下是一个继承的示例:

class Animal:
    def __init__(self, name):
        self.name = name

    def eat(self):
        print("Animal is eating.")

class Dog(Animal):
    def bark(self):
        print("Dog is barking.")

# 创建对象
animal = Animal("Generic Animal")
dog = Dog("Tommy")

# 调用继承的方法和子类的方法
animal.eat()
dog.eat()
dog.bark()

Animal 是一个基类,Dog 是一个派生类,它继承了 Animal 类的属性和方法。通过创建 Animal 和 Dog 对象,并调用它们的方法,可以看到派生类可以访问基类的方法,同时还可以定义自己的新方法。

5、多态

多态是面向对象编程中的另一个重要概念,它允许使用相同的接口来处理不同类型的对象,而不需要知道对象的具体类型。

在 Python 中,多态性是通过方法重写(Method Overriding)实现的。子类可以重写父类的方法,从而在相同的方法调用下表现出不同的行为。

以下是一个多态的示例:

class Shape:
    def area(self):
        pass

class Rectangle(Shape):
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def area(self):
        return self.width * self.height

class Circle(Shape):
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return 3.14 * self.radius ** 2

# 创建对象
rectangle = Rectangle(5, 3)
circle = Circle(4)

# 调用多态的方法
shapes = [rectangle, circle]
for shape in shapes:
    print("Area:", shape.area())

Shape 是一个基类,Rectangle 和 Circle 是派生类。它们都实现了 Shape 类的 area 方法,但具体的实现不同。通过创建 Rectangle 和 Circle 对象,并将它们放入列表中,然后遍历列表并调用 area 方法,可以看到相同的方法调用根据对象的类型表现出不同的行为。


📢文章下方有交流学习区!一起学习进步!💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/544991.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

瑞吉外卖开发总结(全功能实现)

技术栈 项目部署 简历上可写的点 集中处理系统异常,自定义统一的错误码, 并封装了全局异常处理器,屏蔽了项目冗余的报错细节、便于接口调用方理解和统一处理。 基于静态ThreadLocal封装了线程隔离的全局上下文对象,便于在请求内部存取用户信…

【STL模版库】模拟实现vector类模版

一、成员变量 template<class T> class Myvector{typedef T *iterator; //[1]typedef const T *const_iterator;private:iterator _start; //指向存存储空间的开头 //[2]iterator _finish; //指向实际存储元素的下一个位置iterator _end_of_storage; //指向存储空间结尾…

【5.19】三、白盒测试方法—逻辑覆盖法

目录 3.1 逻辑覆盖法 3.1.1 语句覆盖 3.1.2 判定覆盖 3.1.3 条件覆盖 3.1.4 判定—条件覆盖 3.1.5 条件组合覆盖 3.1.6 实例&#xff1a;三角形逻辑覆盖问题 白盒测试又称为透明盒测试、结构测试&#xff0c;它基于程序内部结构进行测试&#xff0c;而不是测试应用程序…

Net跨平台UI框架Avalonia入门-资源和样式

Net跨平台UI框架Avalonia入门-资源和样式编写和使用 资源和样式编写和使用样式&#xff08;Styles&#xff09;和资源&#xff08;Resources&#xff09;样式&#xff08;Styles&#xff09;样式定义定义的位置:定义内容&#xff1a; 样式文件的定义和引用 资源&#xff08;Res…

微信小程序xr-frame后处理

前言&#xff1a;什么是后处理&#xff1f;&#xff08;详见&#xff1a;ThreeJS 后处理 - 掘金 (juejin.cn)&#xff09; 后处理就是对WebGLRenderer.render(scene, camera)的渲染2D图片进行处理。可以把多个后处理进行组合&#xff0c;按照顺序执行&#xff0c;每个处理过程…

新-git-gitee代码管理(管理)

git忽略文件失效 git rm -r --cached . //清除缓存 git add . //添加所有文件 git commit -m update .gitignore //提交更新.gitignoregit 提交的一些规范 开发git commit规范&#xff1a; git commit --fix我的问题feat&#xff1a;新功能 fix&#xff1a;BUG…

VMware16安装 CentOS7

目录 VM下载与安装 密钥 CentOS镜像下载 安装过程 问题 win11一点启动就蓝屏重启 系统安装 安装摘要 选择日期 软件选择-> 最小安装 安装位置 网络和主机名 开始安装 用户设置 完成 登录 xshell连接操作 登录成功 VM下载与安装 官网下载地址 下载 VMware Works…

恩智浦正式启动人工智能创新实践平台,为本地生态注入创新动能

中国天津——2023年5月19日——恩智浦半导体&#xff08;NXP Semiconductors N.V.&#xff0c;纳斯达克代码&#xff1a;NXPI&#xff09;今日宣布&#xff0c;设于天津的人工智能应用创新中心二期项目——人工智能创新实践平台&#xff08;以下称“创新实践平台”&#xff09;…

三、IOC容器(3)

一、IOC操作Bean管理&#xff08;外部属性文件&#xff09; 1.直接配置数据库信息 配置德鲁伊连接池引入德鲁伊连接池依赖jar包 <!--配置连接池--> <bean id"dataSource" class"com.alibaba.druid.pool.DruidDataSource"><property name&…

面了一位5年的测试,真的很失望......

最近看了很多简历&#xff0c;很多候选人年限不小&#xff0c;但是做的都是一些非常传统的项目&#xff0c;想着也不能通过简历就直接否定一个人&#xff0c;何况现在大环境越来 越难&#xff0c;大家找工作也不容易&#xff0c;于是就打算见一见。 在沟通中发现&#xff0c;由…

《HTTP权威指南 陈涓 赵振平》读书笔记

目录 第一章 HTTP概述 第二章 URL与资源 第三章 HTTP报文 第四章 连接管理 第一章 HTTP概述 1、POST和PUT的区别 POST&#xff1a;将客户端数据发送到一个服务器网关应用程序PUT&#xff1a;将来自客户端额数据存储到一个命名的的服务器资源中 2、HTTP报文&#xff1a;…

Windows下通过cwRsync备份到服务器服务器之间使用rsync备份传输

Windows下通过cwRsync备份到服务器&服务器之间使用rsync备份传输 Linux服务器配置Rsync服务端1、安装Rsync2、配置rsyncd.conf3、创建目录、密码文件并修改权限4、启动rsync服务 Windows配置cwRsync客户端1、下载并解压cwRsync客户端2、打开cmd&#xff0c;执行同步命令 Wi…

好程序员:一篇文章看懂JavaScript 学习路线!前端自学!

如果你是一名编程初学者&#xff0c;刚刚学完HTML和CSS&#xff0c;那就不得不接触JavaScript。今天&#xff0c;好程序员给大家分享一篇2023最新版&#xff0c;JavaScript学习路线。 1. HTML and CSS 语法、结构、响应式设计、引导 2. JavaScript语言基础 语法、数据、类型、…

Cloud Studio 高阶玩家:强大的 YAML 模板

Cloud Studio 高阶玩家&#xff1a;强大的 YAML 模板 1. 功能简介 编程免不了要写配置文件&#xff0c;怎么写配置也是一门学问。YAML 是专门用来写配置文件的语言&#xff0c;非常简洁和强大。 了解到一些用户在Cloud Studio开发项目的时候&#xff0c;环境上需要依赖一些组…

Java设计模式-策略模式

简介 在软件开发中&#xff0c;设计模式是为了解决常见问题而提供的一套可重用的解决方案。策略模式&#xff08;Strategy Pattern&#xff09;是其中一种常见的设计模式&#xff0c;它属于行为型模式。该模式的核心思想是将不同的算法封装成独立的策略类&#xff0c;使得它们…

软件测试项目测试报告总结

测试计划概念&#xff1a;就在软件测试工作实施之前明确测试对象&#xff0c;并且通过资源、时间、风险、测试范围和预算等方面的综合分析和规划&#xff0c;保证有效的实施软件测试。 需求挖掘的6个方面&#xff1a; 1、输入方面 2、处理方面 3、结果输出方面 4、性能需求…

蓝牙耳机怎么挑选?工程师盘点目前最值得入手的蓝牙耳机

蓝牙耳机已经成为手机标配&#xff0c;各大品牌也陆续加入蓝牙耳机行业&#xff0c;市场十分繁荣。我身为从业人员对整个行业有着深入的了解&#xff0c;考虑到很多朋友还不知道蓝牙耳机怎么挑选&#xff0c;我整理了目前最值得入手的蓝牙耳机&#xff0c;分别是&#xff1a; 1…

保护你的 shell脚本

什么是shell&#xff1f; shell 是一种脚本语言 脚本&#xff1a;本质是一个文件&#xff0c;文件里面存放的是 特定格式的指令&#xff0c;系统可以使用脚本解析器 翻译或解析 指令 并执行&#xff08;它不需要编译&#xff09; shell 既是应用程序 又是一种脚本语言&#xff…

1. python学习环境准备

文章目录 前言本专栏文章旨在记录《Python编程从入门到实践》一书的学习笔记。 一、编程环境二、使用步骤1.修改默认python版本2.终端退出python解释器3.编写.py文件4.运行.py文件 三、Python帮助文档的使用总结 前言 本专栏文章旨在记录《Python编程从入门到实践》一书的学习…

N9305语音芯片在新能源车充电桩上的方案

语音芯片技术作为近年来蓬勃发展的人工智能领域的重要组成部分&#xff0c;正在被广泛运用于诸多领域&#xff0c;并为人类生活带来了很多便利和创新。其中&#xff0c;新能源充电桩的运用就是一个很好的例子。随着电动汽车的普及&#xff0c;充电桩的需求量不断增加。为了提高…