简单了解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之入门(五)缩进和选择
May 27 Python
Python中几个比较常见的名词解释
Jul 04 Python
Python简单实现enum功能的方法
Apr 25 Python
简单谈谈python的反射机制
Jun 28 Python
Python中int()函数的用法浅析
Oct 17 Python
Python 打印中文字符的三种方法
Aug 14 Python
python使用matplotlib库生成随机漫步图
Aug 27 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 Python
python多线程与多进程及其区别详解
Aug 08 Python
python的time模块和datetime模块实例解析
Nov 29 Python
简单了解django处理跨域请求最佳解决方案
Mar 25 Python
详解Python GUI编程之PyQt5入门到实战
Dec 10 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
虫族 Zerg 热键控制
2020/03/14 星际争霸
php绘制圆形的方法
2015/01/24 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
2013/02/04 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
2013/12/13 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
关于JavaScript对象的动态选择及遍历对象
2014/03/10 Javascript
javascript实现字符串反转的方法
2015/02/05 Javascript
使用javascript提交form表单方法汇总
2015/06/25 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
JavaScript分步实现一个出生日期的正则表达式
2018/03/22 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
python学习之matplotlib绘制散点图实例
2017/12/09 Python
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
Python的多维空数组赋值方法
2018/04/13 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
台湾最大银发乐活百货:乐龄网
2018/05/21 全球购物
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
韩国最大的购物网站:Gmarket
2019/06/20 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
小学生学习感言
2014/03/10 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
泰山导游词
2015/02/02 职场文书
开天辟地观后感
2015/06/09 职场文书
国庆节新闻稿
2015/07/17 职场文书
会议室使用管理制度
2015/08/06 职场文书