简单了解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 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
详解Python编程中time模块的使用
Nov 20 Python
python字典DICT类型合并详解
Aug 17 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
Dec 15 Python
python实现读Excel写入.txt的方法
Apr 29 Python
解决Pandas的DataFrame输出截断和省略的问题
Feb 08 Python
Apache部署Django项目图文详解
Jul 30 Python
python使用paramiko实现ssh的功能详解
Mar 06 Python
ubuntu安装jupyter并设置远程访问的实现
Mar 31 Python
python区块链持久化和命令行接口实现简版
May 25 Python
python计算列表元素与乘积详情
Aug 05 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
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
php创建sprite
2014/02/11 PHP
php实现斐波那契数列的简单写法
2014/07/19 PHP
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
微信支付开发告警通知实例
2016/07/12 PHP
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
2020/07/21 Javascript
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
用Python制作在地图上模拟瘟疫扩散的Gif图
2015/03/31 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
Python中flatten( )函数及函数用法详解
2018/11/02 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
python3实现高效的端口扫描
2019/08/31 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
如何用python处理excel表格
2020/06/09 Python
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
教师的实习鉴定
2013/12/15 职场文书
工程采购员岗位职责
2014/03/09 职场文书
岗位说明书标准范本
2014/07/30 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
教师考核表个人总结
2015/02/12 职场文书
汽车4S店销售经理岗位职责
2015/04/02 职场文书
公司考勤管理制度
2015/08/04 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL