简单了解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目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
windows下ipython的安装与使用详解
Oct 20 Python
Python实现Linux的find命令实例分享
Jun 04 Python
python基础while循环及if判断的实例讲解
Aug 25 Python
python list元素为tuple时的排序方法
Apr 18 Python
对Python3.6 IDLE常用快捷键介绍
Jul 16 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
Dec 24 Python
python运用pygame库实现双人弹球小游戏
Nov 25 Python
如何基于Python获取图片的物理尺寸
Nov 25 Python
tensorflow之变量初始化(tf.Variable)使用详解
Feb 06 Python
Python ATM功能实现代码实例
Mar 19 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
Apr 24 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 checkbox 取值详细说明
2010/08/19 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
php二维码生成以及下载实现
2017/09/28 PHP
慎用 somefunction.prototype 分析
2009/06/02 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
jquery读写cookie操作实例分析
2015/12/24 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
vue实现移动端拖动排序
2020/08/21 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
python实现简单的socket server实例
2015/04/29 Python
Python实现数据库编程方法详解
2015/06/09 Python
Python中文竖排显示的方法
2015/07/28 Python
python定向爬取淘宝商品价格
2018/02/27 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
长青弘远的面试题
2012/06/09 面试题
甜品店的创业计划书范文
2014/01/02 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
党员政治学习材料
2014/05/14 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
2015年电教工作总结
2015/05/26 职场文书
vue2实现provide inject传递响应式
2021/05/21 Vue.js