简单了解Python多态与属性运行原理


Posted in Python onJune 15, 2020

1.多态是指传入不同的对象,产生不同的结果

多态指的是一类事物有多种形态(一个抽象类有多个子类,因而多态的概念依赖于继承)

定义:多态是一种使用对象的方法,子类重写父类方法,调用不同子类对象的父类方法,可以产生不同的执行结果

好处:调用灵活,有了多态,更容易编写出通用的代码。

代码展示:

class Dog(object):
  def work(self):
    print('指哪打哪')

class ArmyDog(Dog):
  def work(self):
    print('追击敌人')
class DrugDog(Dog):
  def work(self):
    print('追查毒品')

class Person(object):
  def work_with_dog(self, dog):
    dog.work()
ad = ArmyDog()
dd = DrugDog()
daqiu = Person()
daqiu.work_with_dog(ad)
daqiu.work_with_dog(dd)

2.类属性就是类对象所拥有的属性,它被该类的所有实例对象所共有

类属性可以使用类对象或实例对象访问。

例如:

class Dog(object):
  tooth = 10
wangcai = Dog()
xiaohei = Dog()
print(Dog.tooth)
print(wangcai.tooth)
print(xiaohei.tooth)

得出的结果都为:10

记录的某项数据始终保持一致时,定义类属性

实例属性要求每个对象为其单独开辟一份内存空间来记录数据,而类属性为全类所共有,仅占用一份内存,更加节省内存空间。

3.修改类属性

类属性只能通过类对象修改,不能通过实例对象修改,如果通过实例对象修改类属性,表示的是创建了一个实例属性

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用MySQLdb访问mysql数据库的方法
Aug 03 Python
python中常用的九种预处理方法分享
Sep 11 Python
python爬虫_微信公众号推送信息爬取的实例
Oct 23 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
Jun 14 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
django认证系统实现自定义权限管理的方法
Aug 28 Python
python中使用you-get库批量在线下载bilibili视频的教程
Mar 10 Python
基于python实现检索标记敏感词并输出
May 07 Python
python + selenium 刷B站播放量的实例代码
Jun 12 Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 Python
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
May 28 Python
Python趣味实战之手把手教你实现举牌小人生成器
Jun 07 Python
Python类super()及私有属性原理解析
Jun 15 #Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 #Python
Python StringIO及BytesIO包使用方法解析
Jun 15 #Python
Python smtp邮件发送模块用法教程
Jun 15 #Python
pandas数据处理之绘图的实现
Jun 15 #Python
keras中的loss、optimizer、metrics用法
Jun 15 #Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 #Python
You might like
PHP中的日期处理方法集锦
2007/01/02 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
jQuery实现连续动画效果实例分析
2015/10/09 Javascript
js实现精确到秒的日期选择器完整实例
2016/04/30 Javascript
javascript this详细介绍
2016/09/19 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
[50:20]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第四局
2016/03/06 DOTA
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
django反向解析和正向解析的方式
2018/06/05 Python
Python测试线程应用程序过程解析
2019/12/31 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
金融事务专业求职信
2014/04/25 职场文书
思想作风建设心得体会
2014/10/22 职场文书
实训报告范文大全
2014/11/04 职场文书
行政介绍信范文
2015/05/04 职场文书
同学聚会感言一句话
2015/07/30 职场文书
董事长秘书工作总结
2015/08/14 职场文书
优质护理心得体会
2016/01/22 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS