今日主要内容    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 初识面向对象相关推荐

  1. python3.6入门到高阶(全栈) day02 while循环 运算符 格式化输出 编码

    一  while 循环 while 条件 : 循环体 运行 : 判断你给的条件是否为真,如果真则执行循环体 否则跳出循环,执行完循环体之后再次判断条件是否为真 while 循环 while 条件 : ...

  2. 视频教程-2019 react入门至高阶实战,含react hooks-ReactJS

    2019 react入门至高阶实战,含react hooks 从事前端开发近5年时间,曾任职于丽珠集团等大型企业担任高级前端开发工程师职位,积累了很多大厂的前端开发经验. 目前处于创业期,正在筹备自己 ...

  3. Zoomla!逐浪CMS高端全栈训练营—开始报名啦

    面向移动开发.面向电商开发.面向门户开发.面向智能物联网开发-由全网alexa排名第一的中文CMS研发团队逐浪CMS担纲,提供最优秀的实战全栈开发培训,结合成熟的企业级CMS产品,基于微软dotNET ...

  4. Python金融量化 | 从入门到高阶实战应用

    引言 今天给大家分享一个微信公众号"Python金融量化",作者是金融学博士,堪萨斯大学访问学者,专注于分享Python在金融量化领域的实战应用,坚持走原创路线,持续输出技术干货, ...

  5. 案例驱动python编程入门-郑州高薪python全栈工程师

    阶段一.Python 全栈工程师之必知必会 - 前端开发技术 课程一.入门必备 - 新手学 HTML5+CSS3 1.HTML基本标签 2.W3C标准及XHTML1.0基本规范 3.表格.表单及框架 ...

  6. 从入门到高阶,读懂机器学习需要哪些数学知识

    本篇文章是由留德华叫兽 在知乎的优秀回答改编扩展而成的, 作者留德华叫兽有着应用数学和硕士运筹学.优化理论的背景转到德国海德堡大学读博,主要从事机器学习.计算机视觉的研究,希望自己的一些经验可以对想入 ...

  7. 【ZZ】从入门到高阶,你需要刷哪些书?丨高中物理竞赛辅导书推荐

    无论你是初试牛刀的初学者,还是渐入佳境的潜力新星,亦或是经验丰富的竞赛老将,一份适合自己的书单总是奥赛学习的致胜法宝.本期推送,我们针对物理竞赛整理了一系列经典书目.希望大家可以结合自身经历.基础实力 ...

  8. 盘点:从入门到高阶的10本数据分析类图书

    一.入门的过瘾是能"麻溜的一下看完" 1.深入浅出系列: "HeadFirst类的书籍,一向浅显易懂形象生动,可以对分析概念有个全面的认知." <深入浅出 ...

  9. 谷歌SEO实战教程:谷歌排名第一秘籍,内容从入门到高阶,适合个人及团队

    让你的网站排名谷歌No.1 实现询盘自由 最新版谷歌SEO全套教程 SEO从业者如何开始网赚? 白帽SEO整体思路是什么? 谷歌排名机制和底层逻辑如何指导SEO优化? SEO到底怎么做,如何学做SEO ...

最新文章

  1. 《迷人的8051单片机》----3.4 程序
  2. OpenWindow.document.write();
  3. 用boost库实现traceroute小工具
  4. MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
  5. [转载]项目风险管理七种武器-霸王枪
  6. javafx中的tree_JavaFX中的塔防(6)
  7. 浏览器内核之WebKit 架构与模块
  8. 因子分析(SPSS)
  9. 一键破解宝塔面板的专业版本权限
  10. 【Java开发】Java实现黑客帝国代码雨
  11. 计算机专业本科生必学课程
  12. 冷门短视频带货玩法,零门槛赚钱项目
  13. 域名含义解释查询_域名含义解释查询
  14. 超棒的电烙铁的焊接方法图解
  15. SQL_删除重复项数据
  16. 学以致用--游戏:孢子(Spore) 中 殖民地 最佳布局
  17. 担心侵权?必备无版权素材网站分享,不用担心视频剪辑缺素材
  18. vue中实现打印功能的方法与注意事项
  19. python命令行运行脚本出现 No Module Named 错误
  20. 华硕F80S安装并激活Windows7体验

热门文章

  1. openstack 管理三十五 - 利用 SQL 获取 tenant 当前资源情况
  2. centos yum安装python2.7及常见报错处理
  3. 在Win平台得到磁盘、CPU、用户信息
  4. Anaconda3-5.3.0-Windows-x86_64
  5. Android注册BroadcastReceiver的两种办法及其区别
  6. vim中taglist无法显示问题
  7. 项目Alpha冲刺(团队)-代码规范、冲刺任务与计划
  8. 个人学习进度条------第八周
  9. Eclipse不给提示no default proposals
  10. JS快速获取图片宽高的方法