最新要闻
- 当前滚动:广西现大型金属残骸 现场升起火苗:原来是火箭助推器
- 每日精选:马斯克SpaceX公司副总裁私人飞机冲出跑道 网友:人身安全警告?
- 报道:浙江多地下雪 2023年第一股冷空气来了
- 2万多的日本水晶椅看着太像刑具:屁股瑟瑟发抖
- 世界动态:2023年最受期待的十款国产游戏 《黑神话:悟空》位列第一
- 全球微头条丨12核Zen4又降价了 AMD锐龙9 7900X到手3259元(首发4299)
- 观察:小米送福利!MIX Fold 2用户花1分钱可领399元保护壳
- 热资讯!仍由腾讯代理!《CF》开发商新作《命运方舟》国服官宣:2023年上线
- 【热闻】周鸿祎:360现在的对手不再是国内同行
- 苹果手表血氧监测功能被指有种族偏见 在美国被告上法庭
- RX 7900危了 消息称RTX 4070 Ti显卡降价700元:性价比大增
- 当前焦点!卡丁车手比赛撞柱身亡 主办方回应:赛道由专业设计师设计
- 天天微资讯!Doge表情包原型柴犬患白血病和肝病:情况糟糕、生命危险
- 环球看热讯:明星带货表演砍价被调侃演技巅峰上热搜:律师喊话先涨再降涉嫌价格欺诈
- 比亚迪大屏立功 中国乘用车仪表盘平均尺寸将增至近10英寸
- 世界微资讯!AMD、NV让你失望了!2023年显卡价格仍将居高不下 降价希望渺茫
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
速递!Python 面向对象进阶
- Python 面向对象进阶
- 面向对象三大特征介绍
- 继承
- 语法格式
- 类成员的继承和重写
- 查看类的继承层次结构与根类属性
- 重写__str__()方法
Python 面向对象进阶
面向对象三大特征介绍
Python 是面向对象的语言,也支持面向对象编程的三大特性:继承、封装(隐藏)、多态。
- 封装(隐藏)
隐藏对象的属性和实现细节,只对外提供必要的方法。相当于将“细节封装起来”,只对外暴露“相关调用方法”。通过前面学习的“私有属性、私有方法”的方式,实现“封装”。Python 追求简洁的语法,没有严格的语法级别的“访问控制符”,更多的是依靠程序员自觉实现。
- 继承
继承可以让子类具有父类的特性,提高了代码的重用性。从设计上是一种增量进化,原有父类设计不变的情况下,可以增加新的功能,或者改进已有的算法。
【资料图】
- 多态
多态是指同一个方法调用由于对象不同会产生不同的行为。生活中这样的例子比比皆是:同样是休息方法,人不同休息方法不同。张三休息是睡觉,李四休息是玩游戏,程序员休息是“敲几行代码”。
继承
继承是面向对象程序设计的重要特征,也是实现“代码复用”的重要手段。
如果一个新类继承自一个设计好的类,就直接具备了已有类的特征,就大大降低了工作难度。已有的类,我们称为“父类或者基类”,新的类,我们称为“子类或者派生类”。
语法格式
Python 支持多重继承,一个子类可以继承多个父类。继承的语法格式如下:
class 子类类名(父类 1[,父类 2,...]): 类体
如果在类定义中没有指定父类,则默认父类是 object 类。也就是说,object 是所有类的父类,里面定义了一些所有类共有的默认实现,比如:__new__()。
定义子类时,必须在其构造函数中调用父类的构造函数。调用格式如下:
父类名.__init__(self, 参数列表)
class Person(object): def __init__(self, name, age): self.name = name self.__age = age #私有属性 def say_age(self): print("我的年纪我也不知道")class Student(Person): def __init__(self, name, age, score): Person.__init__(self, name, age) #调用父类构造器,共享实例属性;必须显式的调用父类初始化方法,不然解释器不会去调用。 self.score = scores = Student("陈浩", 18, 95)s.say_age() #调用父类方法# 我的年纪我也不知道print(s.name,s.score)# 陈浩 95print(dir(s)) # 查看子类属性# ["_Person__age", "__class__", "__delattr__", "__dict__", "__dir__", "__doc__", "__eq__", "__format__", "__ge__", "__getattribute__", "__getstate__", "__gt__", "__hash__", "__init__", "__init_subclass__", "__le__", "__lt__", "__module__", "__ne__", "__new__", "__reduce__", "__reduce_ex__", "__repr__", "__setattr__", "__sizeof__", "__str__", "__subclasshook__", "__weakref__", "name", "say_age", "score"]print(s._Person__age) #调用父类私有属性# 18
类成员的继承和重写
- 成员继承:子类继承了父类除构造方法之外的所有成员。
- 方法重写:子类可以重新定义父类中的方法,这样就会覆盖父类的方法,也称为“重写
【操作】继承和重写的案例
class Person: def __init__(self,name,age): self.name = name self.age = age def say_age(self): print(self.name,"的年龄是:",self.age) def say_name(self): print("我是",self.name)class Student(Person): def __init__(self,name,age,score): self.score = score Person.__init__(self,name,age) #构造函数中包含调用父类构造函数 def say_score(self): print(self.name,"的分数是:",self.score) def say_name(self): #重写父类的方法 print("报告老师,我是",self.name)s1 = Student("张三",15,85)s1.say_score()# 张三 的分数是: 85s1.say_name()# 报告老师,我是 张三s1.say_age()# 张三 的年龄是: 15
查看类的继承层次结构与根类属性
通过类的方法 mro()或者类的属性__mro__可以输出这个类的继承层次结构。
class A: passclass B(A): passclass C(B): passprint(C.mro()) #[, , , ] 从左往右依次继承 print(dir(object))"""Object(根类)对象属性:["__class__", "__delattr__", "__dir__", "__doc__", "__eq__", "__format__", "__ge__", "__getattribute__", "__getstate__", "__gt__", "__hash__", "__init__", "__init_subclass__", "__le__", "__lt__", "__ne__", "__new__", "__reduce__", "__reduce_ex__", "__repr__", "__setattr__", "__sizeof__", "__str__", "__subclasshook__"]"""
重写__str__()方法
object 有一个__str__()方法,用于返回一个对于“对象的描述”,对应于内置函数str()经常用于 print()方法,帮助我们查看对象的信息。__str__()可以重写。
class Preson: def __init__(self, name): self.name = namep = Preson("chenhao")print(p) # 重写前输出:<__main__.Preson object at 0x000001AABBF9EB10>class Preson: def __init__(self, name): self.name = name def __str__(self): """将对象信息重新定义成一个新的字符串""" return "我是重写__str__方法后的输出"p = Preson("chenhao")print(p)# 重写后输出: 我是重写__str__方法后的输出
速递!Python 面向对象进阶
最资讯丨10 个你需要熟悉的 CSS3 属性
当前滚动:广西现大型金属残骸 现场升起火苗:原来是火箭助推器
天天观天下!Codeforces 1336 F Journey 题解
每日精选:马斯克SpaceX公司副总裁私人飞机冲出跑道 网友:人身安全警告?
报道:浙江多地下雪 2023年第一股冷空气来了
2万多的日本水晶椅看着太像刑具:屁股瑟瑟发抖
世界动态:2023年最受期待的十款国产游戏 《黑神话:悟空》位列第一
当前头条:FreeSWITCH给Say模块增加中文语音
全球微头条丨12核Zen4又降价了 AMD锐龙9 7900X到手3259元(首发4299)
观察:小米送福利!MIX Fold 2用户花1分钱可领399元保护壳
热资讯!仍由腾讯代理!《CF》开发商新作《命运方舟》国服官宣:2023年上线
【热闻】周鸿祎:360现在的对手不再是国内同行
苹果手表血氧监测功能被指有种族偏见 在美国被告上法庭
Fiddler V5.0 英文/汉化 Windows 抓包工具 【12月29日亲测有效】
RX 7900危了 消息称RTX 4070 Ti显卡降价700元:性价比大增
当前焦点!卡丁车手比赛撞柱身亡 主办方回应:赛道由专业设计师设计
天天微资讯!Doge表情包原型柴犬患白血病和肝病:情况糟糕、生命危险
环球看热讯:明星带货表演砍价被调侃演技巅峰上热搜:律师喊话先涨再降涉嫌价格欺诈
比亚迪大屏立功 中国乘用车仪表盘平均尺寸将增至近10英寸
世界微资讯!AMD、NV让你失望了!2023年显卡价格仍将居高不下 降价希望渺茫
【天天快播报】骨折价没人要!首架波音747-8宣告报废:才飞了不到30小时
《阿凡达2》成2022全球票房亚军!仅次于《壮志凌云2》
世界通讯!今年春节乐趣不限量!PICO 4新春礼盒成年货新选择
如何选购云服务器
终极.NET混淆器丨.NET Reactor产品介绍
linux跟踪技术之ebpf
天天快报!AcWing246. 区间最大公约数
【世界独家】30层楼高、叶轮直径191米!国内单机容量最大高原山地风机成功吊装
全球今头条!19999元!铁威马发布12盘位NAS T12-450:总容量可达240TB
羊了个羊创始人没想到一季度挣了20万:公司仅7人参保
焦点速递!俞敏洪最想读的三本书:《道德经》《红楼梦》《金瓶梅》
Cubase11安装破解图文教程 【2022年12月29日亲测有效】
焦点速读:linux Makefile 如何将生成的 .o 文件放到指定文件夹
热点聚焦:python字典中dict.get()和dict.setdefault()的异同点
LG发布全新光学变焦手机镜头模组:支持4~9倍光学变焦自由切换
【独家】女子搬家后发现新房藏有豪华地堡:眼尖网友指出关键所在
每日简讯:《羊了个羊》老板曾被嘲笑不懂做游戏:最初目标是一季度挣20万
当前热议!一加携手AAC瑞声科技联合打造!官方详解安卓最强马达细节
【聚看点】网络游戏作品首次!《王者荣耀》《和平精英》入藏中国国家版本馆
热点在线丨还有企业没有在用JNPF吗! 适配于多行业的管理系统,各企业之首选
速看:火山引擎 DataTester:如何做 A/B 实验的假设检验
每日热议!折腾了我一周,原来Netty网络编程就是这么个破玩意儿!!!
【报资讯】LF Professional及WINTERACTER产品简介
全球短讯!几个函数的使用例子:更新VBRK-XBLNR,IB01设备BOM创建,LI11N输入库存盘点
速看:Chrome浏览器强化安全性:将阻止HTTP链接下载文件
真功夫快餐成被执行人:之前因侵权被功夫巨星李小龙之女起诉
热讯:京东苹果年货节超低价:iPhone 14系列最高降1000元
天天新资讯:壕无人性!Uzi沉迷《原神》竟然直播时充钱充到限额
世界短讯!赢麻!我国世界热点论文数量第一:远超美国、日本
天天日报丨【Python语法糖】闭包和装饰器
天天热头条丨Intel 13代酷睿i5-1350P使劲挤牙膏:只提升了2%
简讯:对标理想L8、问界M7 魏牌首款大六座SUV官宣:设计很有料
3999元 红魔8 Pro系列首销火爆售罄:高管感到出乎意料
天天时讯:致郑新黄河大桥200多辆车连撞!河南气象台回应郑州未发大雾预警
苹果市值一夜蒸发约4431亿元:iPhone出货量将迎锐减 万元高端机买不动了
每日热讯!郑州200多车相撞 雾天驾车开雾灯还是双闪灯?网友吵翻
信息:电竞级调校!Redmi K60 Pro《原神》须弥城跑图实测:1小时不降亮度
环球滚动:VueJS使用addEventListener的事件如何触发执行函数的this
农四师是什么意思?农四师属于哪个地区?
【焦点热闻】说好的比加油方便呢:英国特斯拉车主抱怨充电要排队数小时
世界视点!4999元 米粉入手小米13限定色:他最满意的安卓手机 太凉快了
今日热文:Win11 2023年“Moment 3”更新内容流出:将针对折叠屏设备进行优化
天天观热点:基于北斗定位实现!高德地图在全国近360城上线“绿灯导航”
2023新剧排排坐
时代少年团综艺节目有哪些?时代少年团成员资料
岁月不居天道酬勤是什么意思?时光不居天道酬勤的出处是哪里?
梅林是什么意思?梅林固件有什么功能?
指纹膜是什么?如何自制指纹膜?
骆驼的体重大约是多少?骆驼奶粉的功效和作用
湖北人有哪些特点?湖北人为什么被称为九头鸟?
包上恩演的电视剧有哪些?包上恩个人资料身高详情
大音希声扫阴翳是什么意思?大音希声扫阴翳出自哪里?
补丁怎么用?补丁的作用有哪些?
联想扬天4600c怎么样?联想扬天4600c参数
win7搜索在哪里?win7蓝牙怎么开启?
(三)elasticsearch 源码之启动流程分析
焦点要闻:特色功能(锐捷云桌面篇)
qq中毒了是什么原因?qq中毒了怎么办?
Win8系统如何关机?win8系统怎么连接wifi?
贝尔金路由器如何设置?贝尔金路由器怎么恢复出厂设置?
天天滚动:手机App秒测血氧 能替代血氧仪吗?专家科普
世界微动态丨雅阁、CR-V均中招!本田中国召回近20万辆混动车 润滑油不够
过去一年都听过什么歌?网易云音乐2022年度听歌报告正式上线
环球关注:汉仪字库定制打造!钉钉进步体来了:永久免费商用
【全球快播报】NASA分享火星冬天航拍照片:色彩斑斓、唯美壮阔
【爬虫实战项目】Python爬取Top100电影榜单数据保存本地(附源码)
【天天新要闻】说透IO多路复用模型
关注:李子柒与微念达成和解 断更500多天的“她”何时回归?
焦点日报:Epic免费送《死亡搁浅》导剪版变标准版后续:官方删除道歉微博
环球关注:你在干啥?2022年中国人每天用手机时长创新高:都在狂刷视频、玩游戏等
百事通!Redmi K60把国产2K OLED屏从不可能变成现实:这过程很痛苦很艰辛
全球观点:苹果市值一夜蒸发约4431亿元 曝其有意砍价iPhone供应链 确保自己利润
DirtyPipe(CVE-2022-0847)漏洞分析
热点聚焦:笔记本SSD普及率今年已达92%:机械硬盘凉凉了
PC硬件机能榨干的日子一去不返!显卡危机不会再有了
【环球报资讯】机箱接口套路多 这些小知识你都知道吗?
【焦点热闻】设计时速250公里!银兰高铁全线开通运营:最快3小时可达
暴降千元性价比还是低!苹果欲放弃iPhone 14销售最差机型:你会买Plus吗
委员建议禁放烟花改为限时燃放 网友争议是否污染环境:多地明确禁放