python3.6入门到高阶(全栈) day015 初识面向对象
今日主要内容 1. 面向对象和面向过程(重点在于理解) 面向过程: 以我为中心. 按照事物的发展"流程". 优点:负责的问题流程化,编写相对简单 缺点:可拓展性差 面向对象: 以对象为中心. 优点: 可拓展性强 缺点: 编程的复杂度高于面向过程 万事万物皆为对象(object) 2. 如何编写面向对象的程序(重点) 先创建类: 归类. 对某些事物进行总结. 相当于图纸 使用类可以创建对象: class 类名(object) def __init__(self, name, age): # 构造方法. 创建对象的时候自动调用这个方法 self.name = name self.age = age def 方法名(self, 参数); 方法体(return) 创建对象: 变量(引用, 句柄) = 类名(参数) # 访问对象的属性信息 对象.属性 # 方法的访问: 对象.方法() 例 class Car: def __init__(self, color, pai, pailiang): # self表示当前类的对象. 当前你创建 的是谁, 谁来访问的这个⽅法.那这个self就是谁. self.color = color self.pai = pai self.pailiang = pailiang def run(self, speed): print("⻋可以跑%s迈" % speed) c = Car("red", "京A66666", "2.0T") c.run(100) # 这时. python会⾃动把对象c传递给run⽅法的第⼀个参数位置. 对比面向对象和面向过程: 看需求. 大型项目更适合用面向对象 小型脚本程序更适合面向过程 3. 面向对象的三大特征: 封装, 继承, 多态 1. 封装 对属性封装 self.xxx = xxxx 对方法封装 2. 继承 子类可以自动拥有父类中除了私有内容外的其他所有内容 例 class QinDie: def chi(self): print("亲爹给你好吃的") def play(self): print("亲爹会陪你玩") class GanDie: def qian(self): print("⼲爹给钱啊") def play(self): print("⼲爹会陪你玩") class GuNiang(QinDie, GanDie): pass bumei = GuNiang() bumei.chi() # 亲爹 bumei.qian() # 亲爹没有, 找⼲爹 bumei.play() # 亲爹有了, 就不找⼲爹了 3. 多态 同一个对象多种形态. 程序具有超高的可扩展性. ⾯向对象思想的核⼼与灵魂. python⾃带多态 例 class Animal: def chi(self): print("动物就知道吃") class Pig(Animal): def chi(self): print("猪在吃") class Haski(Animal): def chi(self): print("哈⼠奇在吃") class Alasika(Animal): def chi(self): print("阿拉斯加在吃") class SiYangYuan: def yanng_animal(self, ani): ani.chi() zhu = Pig() erha = Haski() ala = Alasika() alex = SiYangYuan() alex.yanng_animal(zhu) alex.yanng_animal(erha) alex.yanng_animal(ala)
转载于:https://www.cnblogs.com/wanxiangai/p/9917267.html
python3.6入门到高阶(全栈) day015 初识面向对象相关推荐
- python3.6入门到高阶(全栈) day02 while循环 运算符 格式化输出 编码
一 while 循环 while 条件 : 循环体 运行 : 判断你给的条件是否为真,如果真则执行循环体 否则跳出循环,执行完循环体之后再次判断条件是否为真 while 循环 while 条件 : ...
- 视频教程-2019 react入门至高阶实战,含react hooks-ReactJS
2019 react入门至高阶实战,含react hooks 从事前端开发近5年时间,曾任职于丽珠集团等大型企业担任高级前端开发工程师职位,积累了很多大厂的前端开发经验. 目前处于创业期,正在筹备自己 ...
- Zoomla!逐浪CMS高端全栈训练营—开始报名啦
面向移动开发.面向电商开发.面向门户开发.面向智能物联网开发-由全网alexa排名第一的中文CMS研发团队逐浪CMS担纲,提供最优秀的实战全栈开发培训,结合成熟的企业级CMS产品,基于微软dotNET ...
- Python金融量化 | 从入门到高阶实战应用
引言 今天给大家分享一个微信公众号"Python金融量化",作者是金融学博士,堪萨斯大学访问学者,专注于分享Python在金融量化领域的实战应用,坚持走原创路线,持续输出技术干货, ...
- 案例驱动python编程入门-郑州高薪python全栈工程师
阶段一.Python 全栈工程师之必知必会 - 前端开发技术 课程一.入门必备 - 新手学 HTML5+CSS3 1.HTML基本标签 2.W3C标准及XHTML1.0基本规范 3.表格.表单及框架 ...
- 从入门到高阶,读懂机器学习需要哪些数学知识
本篇文章是由留德华叫兽 在知乎的优秀回答改编扩展而成的, 作者留德华叫兽有着应用数学和硕士运筹学.优化理论的背景转到德国海德堡大学读博,主要从事机器学习.计算机视觉的研究,希望自己的一些经验可以对想入 ...
- 【ZZ】从入门到高阶,你需要刷哪些书?丨高中物理竞赛辅导书推荐
无论你是初试牛刀的初学者,还是渐入佳境的潜力新星,亦或是经验丰富的竞赛老将,一份适合自己的书单总是奥赛学习的致胜法宝.本期推送,我们针对物理竞赛整理了一系列经典书目.希望大家可以结合自身经历.基础实力 ...
- 盘点:从入门到高阶的10本数据分析类图书
一.入门的过瘾是能"麻溜的一下看完" 1.深入浅出系列: "HeadFirst类的书籍,一向浅显易懂形象生动,可以对分析概念有个全面的认知." <深入浅出 ...
- 谷歌SEO实战教程:谷歌排名第一秘籍,内容从入门到高阶,适合个人及团队
让你的网站排名谷歌No.1 实现询盘自由 最新版谷歌SEO全套教程 SEO从业者如何开始网赚? 白帽SEO整体思路是什么? 谷歌排名机制和底层逻辑如何指导SEO优化? SEO到底怎么做,如何学做SEO ...
最新文章
- 《迷人的8051单片机》----3.4 程序
- OpenWindow.document.write();
- 用boost库实现traceroute小工具
- MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
- [转载]项目风险管理七种武器-霸王枪
- javafx中的tree_JavaFX中的塔防(6)
- 浏览器内核之WebKit 架构与模块
- 因子分析(SPSS)
- 一键破解宝塔面板的专业版本权限
- 【Java开发】Java实现黑客帝国代码雨
- 计算机专业本科生必学课程
- 冷门短视频带货玩法,零门槛赚钱项目
- 域名含义解释查询_域名含义解释查询
- 超棒的电烙铁的焊接方法图解
- SQL_删除重复项数据
- 学以致用--游戏:孢子(Spore) 中 殖民地 最佳布局
- 担心侵权?必备无版权素材网站分享,不用担心视频剪辑缺素材
- vue中实现打印功能的方法与注意事项
- python命令行运行脚本出现 No Module Named 错误
- 华硕F80S安装并激活Windows7体验