当前位置: 首页 > news >正文

Python 的多态笔记

Python的多态实际是通过instance 实现的

class Person:def __init__(self, name,age):self.name = nameself.age = agedef feed_pet(self,pet):#isinastance(obj,类)-->判断obj,是不是这个类的对象,或者判断obj是不是该类的子类的对象if isinstance(pet, Pet):self.pet = petprint('可以养')print(f'{self.name}喜欢喂养{pet.role},昵称是{pet.nickname}')else:print('不是宠物类型')class Pet:role='Pet'def __init__(self,nickname,age):self.nickname = nicknameself.age = agedef show(self):print(f'{self.nickname} 今年{self.age}岁了')class Cat(Pet):role='Cat'def catch_Mouse(self):print('抓老鼠')
class Dog(Pet):role='Dog'def Watch_House(self):print('看家高手。。。。')
class Tiger:def __init__(self,name):self.name = nameself.age = 1def eat(self):print('太可怕了,能吃人!!')#创建对象
cat=Cat('花花',2)
dog=Dog('大黄',3)
p1=Person('lucy',23)
tiger1=Tiger('大老虎')
p1.feed_pet(cat)
p2=Person('pengpeng',24)
p2.feed_pet(tiger1)
p2.feed_pet(dog)

http://www.lryc.cn/news/486512.html

相关文章:

  • go module使用
  • c ++零基础可视化——数组
  • CVE-2024-2961漏洞的简单学习
  • 计算机组成原理笔记----基础篇
  • TheadLocal出现的内存泄漏具体泄漏的是什么?弱引用在里面有什么作用?什么情景什么问题?
  • AI在电商平台中的创新应用:提升销售效率与用户体验的数字化转型
  • CTF-RE 从0到N:RC4
  • HbuilderX 插件开发-模板创建
  • 打造专业问答社区:Windows部署Apache Answer结合cpolar实现公网访问
  • YOLO-SLD: An Attention Mechanism-ImprovedYOLO for License Plate Detection
  • ArcGIS的汉字(亚洲文本)垂直标注
  • 【面试题】
  • Leetcode 寻找峰值
  • 探索大规模语言模型(LLM)在心理健康护理领域中的应用与潜力
  • Infisical开源密钥管理平台实战指南
  • AI大模型:重塑软件开发流程与模式
  • AMD(Xilinx) FPGA配置Flash大小选择
  • 基于Java Springboot图书借阅系统
  • DDRPHY数字IC后端设计实现系列专题之数字后端floorplanpowerplan设计
  • 【Mysql】Mysql函数(上)
  • Java连接MySQL(测试build path功能)
  • 卡尔曼滤波器
  • 基于BERT的情感分析
  • 推荐15个2024最新精选wordpress模板
  • AWTK-WIDGET-WEB-VIEW 实现笔记 (2) - Windows
  • Linux四剑客及正则表达式
  • ALS 推荐算法案例演示(python)
  • labview中连接sql server数据库查询语句
  • leetcode_二叉树最大深度
  • Elasticsearch 重建索引 数据迁移