python什么是多态_Python中的多态是什么
多态的概念其实不难理解,它是指对不同类型的变量进行相同的操作,它会根据对象(或类)类型的不同而表现出不同的行为。
事实上,我们经常用到多态的性质,比如:>>> 1 2
3
>>> 'a' 'b'
'ab'
可以看到,我们对两个整数进行 操作,会返回它们的和,对两个字符进行相同的 操作,会返回拼接后的字符串。也就是说,不同类型的对象对同一消息会作出不同的响应。
相关推荐:《Python视频教程》
再看看类的例子:class Animal(object):
def __init__(self, name):
self.name = name
def greet(self):
print 'Hello, I am %s.' % self.name
class Dog(Animal):
def greet(self):
print 'WangWang.., I am %s.' % self.name
class Cat(Animal):
def greet(self):
print 'MiaoMiao.., I am %s' % self.name
def hello(animal):
animal.greet()
看看多态的使用:>>> dog = Dog('dog')
>>> hello(dog)
WangWang.., I am dog.
>>>>>> cat = Cat('cat')
>>> hello(cat)
MiaoMiao.., I am cat
可以看到,cat 和 dog 是两个不同的对象,对它们调用 greet 方法,它们会自动调用实际类型的 greet 方法,作出不同的响应。这就是多态的魅力。
相关推荐:
Python中类的继承是什么
您可能感兴趣的文章:
python什么是多态_Python中的多态是什么相关推荐
- python 多态_Python中的多态
面向对象的语言有四个特性,抽象.封装.继承和多态.在之前的文章中,给小伙伴们已经讲解了前三个.为什么要把多态放在最后一个讲呢?因为前面的三个特性是多态的基础,了解了前三个,了解多态就很容易啦~ 那么, ...
- python算法和数据结构_Python中的数据结构和算法
python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...
- python中的多态是什么_Python中的多态
python中的多态是什么 Polymorphism is a concept of Object Oriented Programming, which means multiple forms o ...
- java中的多态_Java中的多态
多态与HoFs 朋友们好久不见啊,最近笔者同时在写脚本型语言--JavaScript,和工业级的面向对象语言--Java. 在写代码的同时呢,也会思考这些语言的不同.今天就拿 Java 中的多态,来谈 ...
- python决策树 多分类_Python中的决策树分类:您需要了解的一切
python决策树 多分类 什么是决策树? (What is Decision Tree?) A decision tree is a decision support tool that uses ...
- python基础知识测试题_Python中的单元测试—基础知识
python基础知识测试题 Unit testing is the number one skill which separates people who just finished their de ...
- python数据库模糊查询_python中数据库like模糊查询方式
python中数据库like模糊查询方式 在Python中%是一个格式化字符,所以如果需要使用%则需要写成%%. 将在Python中执行的sql语句改为: sql = "SELECT * F ...
- python redis 消息队列_python中利用redis构建任务队列(queue)
Python中的使用标准queue模块就可以建立多进程使用的队列,但是使用redis和redis-queue(rq)模块使这一操作更加简单. Part 1. 比如首先我们使用队列来简单的储存数据:我们 ...
- python怎么清理垃圾_Python 中的“垃圾”是怎么回收的?
前言 对于python来说,一切皆为对象,所有的变量赋值都遵循着对象引用机制.程序在运行的时候,需要在内存中开辟出一块空间,用于存放运行时产生的临时变量:计算完成后,再将结果输出到永久性存储器中.如果 ...
最新文章
- mybatis处理查询map列表属性为null的问题,而导致查询map无该key对象
- MongoDB 入门篇
- 何佳文(帮别人名字作诗)
- C++中? : 运算符的使用
- 做游戏美术师必须掌握哪些基本知识
- Thanos 开源的大规模Prometheus集群解决方案
- C++使用boost::bind 订阅消息中的返回函数传入多个参数
- 考验你的吉他入门了吗?
- 融云 即时通讯 集成相关问题
- 一个简单的网页版钢琴(用到JQuery)
- 生产环境CPU占用飙高问题解决
- 数据分析常见SQL面试笔试题
- SpringBoot并发压测工具ContiPerf
- Factory Method vs Abstract Factory
- 数据科学系列:plotly可视化入门介绍
- sql执行出现 Unknown Column ‘nmae‘ in ‘IN/ALL/ANY subquery‘相关报错信息解决
- VSCode 保存时 ESLint 一键修复
- 九年级计算机教学计划,实用的九年级教学计划四篇
- Win10优化大师1.0 Beta 5发布,跟上微软的节奏
- hdu6055—Regular polygon(正方形的判定)
热门文章
- 非标准USBasp下载线烧录Arduino BootLoader的参数设置
- 都说程序员显老,但这位阿里码农观点截然相反,貌似还很有道理!
- 普里姆算法(Prim)
- 中鑫吉鼎|存不到钱的年轻人,你想过为什么吗?
- jenkins Exec exit status not zero. Status [127] ,126,125解决方法
- 加密解密,,加签验签
- HTML5 PC端框架
- Docker Swarm 之节点标签
- 图像加密之灰度加密:基于 密钥 × 解钥 ≡ 1 mod 灰度级 的一轮加密算法原理和步骤
- 春招笔试|寒气华5.6笔试三道题