python强势来袭-25-面向对象必杀技~继承~

金融行业大数据可视化:实时监控与风险预警系统构建 随着金融业务数字化转型,日均产生的交易数据、市场数据、客户行为数据呈指数级增长(单家银行日交易数据量可达TB级)。数据实时性不足(分钟级延迟难以应对高频交易风险)风险特征挖掘浅层(仅基于规则引擎,漏报率高达30%+)可视化分析能力薄弱(静态报表无法支持动态决策)本文聚焦构建具备毫秒级数据响应智能风险建模交互式可视化决策能力的新一代系统,覆盖数据采集、实时处理、多维可视化、智能预警四大核心模块,适用于银行、证券、保险等金融细分领域。章节核心内容技术亮点核心概念可视化系统架构/数据流模型。 阅读详情

面向对象程序设计最主要的有三个特征:封装、继承、多态

本节内容主要讲解面向对象的第一个特征:继承

1 继承的意义
继承是让我们抽象的对象之间存在一定的所属关系
在继承关系中,我们一定要明确会出现这样的一种关系~父类、子类,子类继承自父类,可以继承父类中的公开的属性和方法(不能继承私有的属性或者方法)

其实我们在前面定义对象的时候已经使用过了继承,python中所有的对象都是直接或者间接继承自object对象的

class Person(object):
    pass

上述代码中,我们定义了一个类型Person,这个Person后面有一个括号,括号中就是继承的类型;python中继承的语法是

class 类型名称(父类名称):
    pass

下面是一个简单的继承的案例

# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# 定义一个人的类型
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
class Person(object):

    def __init__(self, name,  age, gender):
        self.__name = name
        self.__age  = age
        self.__gender = gender

    # 定义get获取属性的方法
    def get_name(self):
        return self.__name

    def get_age(self):
        return self.__age

    def get_gender(self):
        return self.__gender

    # 定义set设置属性的方法
    def set_name(self, name):
        self.__name = name

    def set_age(self, age):
        self.__age= age

    def set_gender(self, gender):
        self.__gender= gender

# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# 定义一个男人的类型,继承自Person类型
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
class Man(Person):

    def __init__(self, name, age):
        Person.__init__(self, name, age, "男")

# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# 定义一个女人的类型,继承自Person类型
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
class Women(Person):

    def __init__(self, name, age):
        Person.__init__(self, name, age, "女")

# 创建男人对象和女人对象,测试是否可以给属性进行赋值取值
m = Man("tom", 18)
w = Women("jerry", 16)
print(m.get_gender())   # 执行结果:男
print(w.get_gender())    # 执行结果:女

我们可以看到,在自定义类Man和Women中,只是简单定义了一个init方法,没有其他的代码,但是我们创建的Man类型的对象和Women类型的对象,却可以使用父类Person中定义的方法get_gender()以及其他,在一定程度上,简化了我们的开发,同时提高了程序的扩展性

继承:就是将一部分表示数据类型相似的类,抽取他们共同的属性和方法单独封装成父类,让这些类继承这个父类,实现代码的复用的同时提高程序的扩展性。

2.继承中类型的关系

  • 继承是类型之间的关系:继承中,首先必须是两个或者两个以上的类型之间的关系,注意是类型之间的关系
  • 继承中的父类和子类:被继承的称为父类,实现继承的称为子类,子类继承自父类,实现的是一种A is a B的关系
    如:猫是一种类型,继承自动物这种类型,反映出来的是猫这种类型可以具备动物具备的属性和行为,同时猫是一种动物。(切记,A继承B反映的是A
    is a B的关系,不能反过来,猫是一种动物,不能说动物是猫)
  • 多继承机制:一个父类可以有多个子类,一个子类同样也可以有多个父类
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# 定义一个人的类型,男人是人,女人也是人
# 一个父类,多个子类
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# 父类
class Person(object):
pass
# 子类
class Man(Person):
pass
# 子类
class Women(Person):
pass

某些情况下,我们生活中会出现这样的情况,一个小孩既是父亲的儿子,要具备儿子应该具备的功能,同时也是一个学生要具备学生应该具备的功能,此时就需要使用Python中的多继承来实现了


# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# 定义一个儿子的类型~要孝顺
# 定义一个学生的类型~要好好学习天天向上
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
class Son(object):

def fealty(self):
    print("孝顺父母")

定义子类

class Student(object):

def study(self):
    print("好好学习,天天向上")

定义子类,继承儿子类型和学生类型
class Person(Son, Student):
pass

创建对象,使用父类的方法
p = Person()
p.fealty()
p.study()

执行结果

  • 孝顺父母
  • 好好学习,天天向上
* **数据继承和访问**,在python的继承机制中,私有的属性是不允许被继承和互相访问的,子类不能继承和访问父类中私有的属性和方法,父类同样也不能访问子类中私有的属性和方法
子类只能继承父类中公开的属性和方法
子类中可以通过父类的名称或者super()来访问父类的属性和方法

父类
class Person(object):
def init(self, name, age):
self.name = name
self.age = age
def play(self):
print(self.__name + “在玩游戏”)

子类
class Man(Person):
def init(self, name, age):

通过父类名称访问父类中初始化的方法

    Person.__init__(self, name,age)

子类

class Women(Person):
def init(self, name, age):

通过super()访问父类初始化的方法

    # super(Women, self).__init....super中的参数可以省略
    super().__init__(self, name, age)
### 3. 继承时的方法重写(方法覆盖)
在子类继承自父类之后,可以直接使用父类中定义的公开的方法进行操作

父类
class Person(object):
def play(self):
print(“Person中玩游戏的方法执行了…”)

子类
class Children(Person):
pass

创建子类对象
c = Children()
c.play()

执行结果
~Person中玩游戏的方法执行了…

在子类中,我们可以重新编写继承自父类的方法

父类
class Person(object):
def play(self):
print(“Person中玩游戏的方法执行了…”)

子类
class Children(Person):

重写父类中play方法

 def play(self):
    print("Children中玩游戏的方法执行.....")

创建子类对象
c = Children()
c.play()

执行结果
~Children中玩游戏的方法执行…

在继承关系下,在子类中将继承自父类的方法进行重新定义的过程,称为方法重写或者方法覆盖,经过重写或者覆盖的方法,子类执行该方法时,执行的就是重写过的方法。


以上就是小编所分享的内容,喜欢的话可以加个关注,希望能够帮助到大家,仅供参考

最后针对Android程序员,除了以上内容,我自己整理了一套最新的python系统资料可以免费送给大家,从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。需要这些资料的朋友,可以进python学习交流群:851211580免费领取 。

希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!后续还会更新技术干货,谢谢您的支持!

IEC104协议学习专栏内容规划 IEC104协议的编程学习 阅读详情

相关推荐

高光谱图像处理和分析软件(包含雷尼绍Renishaw wdf 文件导入解析功能)

是一款基于微软windows操作系统的多传感器成像工具,用于处理和分析高光谱图像。它是一个模块化的系统,由一个基本的引擎,一个图形用户界面,一个化学计量工具箱和可选的用户提供的模块组成。它支持最重要的光谱成像技术,如UV/Vis、红外、拉曼、太赫兹、光发射/吸收和质谱。除此之外,还允许用户将高光谱图像与物理属性图和传统高分辨率彩色照片合并在一起 链接:https://pan.baidu.com/s/1ruQ5YSh5_ZS9wx_V3Q5Oow 提取码:qdx0 ...

业余程序员小徐的博客 8068

python强势来袭-26-面向对象必杀技~多态~

面向对象程序设计最主要的有三个特征:封装、继承、多态 本节内容主要讲解面向对象的第一个特征:多态 1 多态的意义 多态是让我们的程序在运行的过程中,在不同的状态下进行动态的切换,实现复杂的功能为目的的一种程序开发手段 在之前的章节中,实现了类型的继承关系之后,其实我们已经见过多态的一种操作了:方法重写实现的运行时多态,对象在执行具体的方法时,会直接执行父类中继承的对应的方法,如果该方法在子类中重写...

python_doris的博客 116

深交所 vs 上交所:Level-2实时数据推送规则详解与策略适配指南

本文深度解析沪深Level-2实时数据推送规则的关键差异,包括逐笔成交、逐笔委托和10档行情接口的处理逻辑。针对高频交易策略,详细对比上交所与深交所在数据推送机制、时间戳处理及委托队列解析等方面的差异,并提供具体的策略适配方案和性能优化建议,帮助量化投资者提升跨市场交易稳定性。

weixin_27310417的博客 1164

python强势来袭-23-面向对象~

本文概念为主~是为了后面的所有的开发进行一个理论性的铺垫,尽量总计的简单易懂,希望大家能耐心看完。 写在前面的话:关于类和对象那些事儿 有了类和对象的概念之后,我们开始逐步引入面向对象的概念 我们知道在程序中通过对象将属于同一组的数据统一的管理起来,同时通过类型来定义我们项目中需要的数据类型,通过创建对象的方式来使用这些数据。 那么接着上节课的内容,我们遇到了一下几个问题 什么时候需要定义类型?...

python_doris的博客 151

SAP-ABAP:SAP中如何查看系统表之间的关联关系?

在业务逻辑开发或者ALV开发过程中,我们通常要从系统中找出几个标准表之间的关联关系,有的是head与item,通过外键进行关联的关系。那么怎么去找到呢?以上就是具体如何产看系统表之间的关联关系的步骤,对于不同代码的业务顾问,也是必须要掌握的。

LinkStar的博客 2430

PVE虚拟机运行不流畅,出现卡顿。

🏆本文收录于《优快云问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 3061

python强势来袭-27-面向对象回旋踢~不得不说的特性~

我们已经分析讲解了面向对象的基本操作、面向对象的三大特征的详细操作,对于面向对象有了一个初步的了解和认知。 这次会针对面向对象的程序设计进行一部分的扩展和补充,方便我们在项目开发过程中的操作能更加的全面和完善。 0. 本节内容 0.1 类型属性和对象成员属性 0.2 对象属性的外部声明和限制 0.3 多继承机制下的注意的问题 0.4 类的定制属性~魔法方法 0.5 特殊的类型:枚举** 1. 类型...

python_doris的博客 153

一文整理深度学习【深度学习linux的docker+pytorch+cuda+nvidia-docker+vscode配置】

docker+pytorch+cuda+nvidia-docker+vscode

Edward的博客 1335

python强势来袭-22-类和对象~万物伊始

本节内容开始,讲解企业级项目开发基础部分:面向对象;主要从对象的抽象、对象的创建,对象中特殊的方法,面向对象的封装、继承、多态等各个方面来进行讲解。 这次主要分析: 什么是对象 类和对象的概念和区别 类的定义 对象的初始化 对象的使用 self关键字 1.关于对象那点事儿 首先,我们先回顾一下关于程序 程序:是用来按照一定的顺序解决问题的 解决问题:解决一个实际问题的核心是处理数据 数据:py...

python_doris的博客 199

030、自动白平衡AWB实战:灰度世界、完美反射与色温估计的工程实现与局限

本文深入探讨了自动白平衡(AWB)算法在工程实践中的实现与局限性。作者结合实际项目经验,分析了灰度世界算法、完美反射算法和色温估计三种主流方法的优缺点和适用场景,并分享了调试过程中的关键技巧和常见陷阱。文章指出,纯色背景、多光源环境等特殊场景容易导致算法失效,需要通过混合策略和场景检测来优化。作者强调AWB调试需要大量实际场景测试,建议保留手动调节功能,并针对不同硬件配置进行参数标定。最后提出,AWB优化是一个持续迭代的过程,需要工程化的测试方法和数据处理能力。

zzfmlxs的博客 281

39-OpenLayers多图层切换显示隐藏,支持多个Layer同时显示和隐藏,OpenLayers懒加载瓦片

39-OpenLayers多图层切换显示隐藏,支持多个Layer同时显示和隐藏,OpenLayers懒加载瓦片

fxshy的博客 462

Python3 面向对象编程

Python3 面向对象编程

pku_langzi的博客 881

多图详解VSCode搭建Python开发环境

本文通过多图的方式详细介绍了VSCode搭建Python开发环境,希望能对学习Python的同学们有所帮助。 文章目录 1. VSCode的介绍和安装 2. 安装插件 2.1 安装中文插件 2.2 安装Python插件 2.3 安装远程插件 3. 远程连接服务器 3.1 配置ssh 3.2 运行代码 3.3 调试代码

weixin_43178406的博客 8万+

一文学习Python面向对象

前言:很多人可能用Python语言很长时间了,但主要是用Python写一些业务,出于多方面的考虑,对面向对象一直是敬而远之。虽然Python因为其特性而显得面向对象在实际业务中不是特别重要,但能写出高质量的代码难道不是很开心吗?那么这篇文章就是单独简要的剖析Python的面向对象,往下看吧,不用多久。这篇文章的写作思想主要来自于《Python 3 面向对象编程》(第2版)Dusty Phillips著。

qq_45620431的博客 487

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python强势来袭-17-字符串那些事儿

字符串是我们在程序中使用非常多的一个对象,对于字符串的处理在各种编程语言中也是非常重要的一部分。 1. python中的字符串定义 python中的字符串,可以使用单引号、双引号或者三个单引号包含的字符,都是字符串。 s1 = '我是一个字符串' s2 = "我也是一个字符串" s3 = ''' 我还是一个字符串 我是能换行写内容的字符串 ''' s4 = "多个字符串"*3 # 可以定义将字...

python_doris的博客 256

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

探索空间单细胞数据的宝藏 —— Squidpy 强势来袭!

探索空间单细胞数据的宝藏 —— Squidpy 强势来袭! 在生命科学的浩瀚宇宙中,空间信息成为了解锁基因表达与组织结构之间神秘关系的关键钥匙。今天,我们向您隆重推荐一款专为这一目的而生的强大工具——Squidpy,它在Python的生态系统下熠熠生辉,旨在革新性地推进空间分子数据的分析与可视化。 项目介绍 Squidpy,作为一把开启空间生物学洞察之门的金钥匙,无缝集成于知名的生物信息学工具sc...

gitblog_00976的博客 418

Python3面向对象-1对象(4)封装,抽象

封装 面向对象编程有四大概念:封装、抽象、多态和继承 包含两个概念。 第一个概念:是在面向对象编程中,对象将属性和方法放在一个地方。 第二个概念:指的是隐藏类的内部数据,以避免客户端(client)代码(即 类外部的代码)直接进行访问。 但是,python提供的是非强制性的指南和最佳实践,不相信那些将来会对你造成妨碍的强制性规范。严格的说,类的所有方法和属性都是对外公开的。 如果想要说明某个方法属性不应该公开使用可以使用以下: 1.可以在它的文档字符串中表明这个方法应该用于每部。 2.在属性或方法前加一个下

w1234567465的博客 299

c语言和python有什么关系,c语言与python的区别大吗

Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。java主要的战场是在Android手机开发和Web后端开发,而python主要应用在数据科学,机器学习,人工智能领域和IOT,可以说两个都是各自领域的霸主,但是随着谷歌扶植Kotlin来取代java,而后端开发NodeJS强势崛起,所以java的后端开发霸主地位正在被挑战。但是,如果你想让你的代码在哪里都能执行,那就选java。

zaq321789的博客 736

GitHub:"围剿"Python计划!程序员:早知必有一战!你站谁?

人红是非多,最近Python就遇到了这样的问题。与国际技术社区上一片「形势大好」对比鲜明的是,国内技术圈却一直存在对Python,「力挺」和「吃瓜」两派阵营,针锋相对,最...

优快云资讯 2291

java与python哪个好找工作,java和python哪个有前途

Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。java主要的战场是在Android手机开发和Web后端开发,而python主要应用在数据科学,机器学习,人工智能领域和IOT,可以说两个都是各自领域的霸主,但是随着谷歌扶植Kotlin来取代java,而后端开发NodeJS强势崛起,所以java的后端开发霸主地位正在被挑战。但是,如果你想让你的代码在哪里都能执行,那就选java。

nannannanmu的博客 654

一个学java的跟python哪个好,大学学java还是c语言

Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。java主要的战场是在Android手机开发和Web后端开发,而python主要应用在数据科学,机器学习,人工智能领域和IOT,可以说两个都是各自领域的霸主,但是随着谷歌扶植Kotlin来取代java,而后端开发NodeJS强势崛起,所以java的后端开发霸主地位正在被挑战。但是,如果你想让你的代码在哪里都能执行,那就选java。

2301_79533350的博客 100

java和python学哪个比较好,java和python哪个值得学

java主要的战场是在Android手机开发和Web后端开发,而python主要应用在数据科学,机器学习,人工智能领域和IOT,可以说两个都是各自领域的霸主,但是随着谷歌扶植Kotlin来取代java,而后端开发NodeJS强势崛起,所以java的后端开发霸主地位正在被挑战。java和python其实是各有各的优点,python更加适合于爬虫机器学习人工智能的领域,但是java是更偏向于工程性的领域,所以不会出现取代和优劣的说法,到底学哪门语言还是要看自己的规划与发展方向。java比python复杂得多。

K12345611717的博客 423

Python简介及发展历史

Python,读作['paɪθɑn],翻译成汉语是蟒蛇的意思,并且Python的logo也是两条缠绕在一起的蟒蛇的样子,然而Python语言和蟒蛇实际上并没有一毛钱关系。Python的口号是:“人生苦短,我用Python!这条口号已经被Python业界广泛使用,快成了广告词一类的存在了。Python语言是由荷兰程序员Guido van Rossum,江湖人称“龟叔”,独立开发完成初版的。“龟叔”曾供职于google,现任职于dropbox。

Everly_的博客 1133

【Python】Python语言基础(上)

这次小i给大家带来了Python的学习,本文大体的介绍了Python,Python环境的安装以及输入输出。欢迎大家浏览,喜欢的给个三连!

qinjilll的博客 897

Java和python哪个好,学哪个有用。

java和python其实是各有各的优点,python更加适合于爬虫机器学习人工智能的领域,但是java是更偏向于工程性的领域,所以不会出现取代和优劣的说法,到底学哪门语言还是要看自己的规划与发展方向。  Java   Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。  .

爱吃饼干的小白鼠的博客 7535
上一篇: python强势来袭-23-面向对象~
下一篇: python强势来袭-26-面向对象必杀技~多态~
python-花猫
博客等级 码龄7年 105粉丝 179原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值