Python是一种面向对象的程序设计语言,截止目前的课程我们所有的程序都是使用的面向过程的思想解决问题的。这节课我们初步了解一下什么叫面向对象编程。学会使用类来解决问题。

一、什么叫面向对象编程

面向对象编程(Object Oriented Programming,简称OOP)是一种是以对象为中心,以类和继承为构造机制的软件开发系统方法。它对现实世界的理解和抽象,是计算机编程技术发展到一定程度的产物。它的特点主要有:抽象、封装、继承、多态。

我们举个例子来说一下面向对象思想的主要特征:

如果需要制造电视机,我知道电视机需要怎样制造。我可以把制造电视机的方法制作成类(抽象),工人们不需要知道具体的制造方法,只要会使用我制造的类就可以了(封装)。电视机还会有很多种类型,比如LCD屏电视机、LED屏电视机,但是它们都是电视机,很多制作方法都是一样的,只需要定义自己不同的地方(继承)。电视机要根据不同家庭、不同消费者的需求生产不同颜色、不同大小的,我们对一些细节做改变(多态)。

面向过程思想和面向对象思想的区别:

之前讲函数时,我们曾经举过把大象放进冰箱的例子。之前的思路就属于面向过程的思想。

  1. 过程一:打开冰箱门
  2. 过程二:把大象放进冰箱
  3. 过程三:关上冰箱门

在面向对象的思想中,我们是这样思考的:

  • 对象一:冰箱
  1. 动作一:冰箱.开门()</

32、Python的面向对象基础相关推荐

  1. python开发面向对象基础:封装

    一,封装 [封装] 隐藏对象的属性和实现细节,仅对外提供公共访问方式. [好处] 1. 将变化隔离: 2. 便于使用: 3. 提高复用性: 4. 提高安全性: [封装原则] 1. 将不需要对外提供的内 ...

  2. python开发面向对象基础:人狗大战学面向对象

    一,通过函数写人狗大战这个故事 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 #1.函数 人模子 5 def person(name,level, ...

  3. PYTHON开发--面向对象基础入门

    面向对象 一:面向对象初级 1.思考:首先在python中,以前我们以前用到的几乎都是函数式编程,但是有时候函数式编程其中代码重复利用率太高,我们往往会把这些重复代码写进一个函数日后去调用,所以呢,今 ...

  4. 十三 Python之面向对象基础

    ⼀. 理解⾯向对象 ⾯向对象是⼀种抽象化的编程思想,很多编程语⾔中都有的⼀种思想. 例如:洗⾐服 思考:⼏种途径可以完成洗⾐服? 答: ⼿洗 和 机洗. ⼿洗:找盆 - 放⽔ - 加洗⾐粉 - 浸泡 ...

  5. Python Day13 面向对象基础【初级】

    Day13 面向对象编程 文章目录 Day13 面向对象编程 1. 编程思想 2. 认识类和对象 2.1 什么是类.什么是对象 2.2 定义类(创建类) 2.3 创建对象 3. 类中的方法 3.1 对 ...

  6. python类的定义和使用_Python3基础之python 之 面向对象基础(定义类、创|python基础教程|python入门|python教程...

    第七章面向对象 1.面向过程编程核心是"过程"二字,过程指的是解决问题的步骤,即先干什么再干什么基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式 优点:复杂的问题流 ...

  7. Python基础入门_5面向对象基础

    Python 基础入门前四篇: Python 基础入门–简介和环境配置 Python基础入门_2基础语法和变量类型 Python基础入门_3条件语句和迭代循环 Python基础入门_4函数 第五篇主要 ...

  8. Python 面向对象 基础

    编程范式概述: 面向过程 和 面向对象 以及函数式编程 面向过程:(Procedure Oriented)是一种以事件为中心的编程思想. 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实 ...

  9. python 内存溢出能捕获吗_从0基础学习Python (19)[面向对象开发过程中的异常(捕获异常~相关)]...

    从0基础学习Python (Day19) 面向对象开发过程中的=>异常 什么是异常 ​ 当程序在运行过程中出现的一些错误,或者语法逻辑出现问题,解释器此时无法继续正常执行了,反而出现了一些错误的 ...

最新文章

  1. 交叉分解(Cross decomposition)、典型关联分析(Canonical Correlation Analysis,CCA)、偏最小二乘回归PLS
  2. Redis-学习笔记01【Redis环境搭建】
  3. request.getContextPath()取不到值
  4. 今天的一条条平坦的即时通讯
  5. linux运行多个c文件路径,linux c的连接库和怎么同时编译多个源程序
  6. GameSalad:率先使用HTML5发布新游戏
  7. c语言delay函数的作用,delay函数 delay() c语言延迟函数
  8. 全国地区对应身份证号码值关系--身份证号前2位
  9. 数据库基础学习(思维导图)
  10. 60分钟教你上手PyTorch + 迁移学习
  11. 27岁,30岁,37岁...... 你是否已经把世界拱手让人?
  12. matlab中的标识符命名规则有哪些,关于标识符的命名规则,以下描述错误的是
  13. 实验室常见的PFA制品有哪些?这些特氟龙PFA产品你认得全吗?
  14. 十六.linux开发之Kernel移植——内核的配置和编译原理
  15. KANKAN AI不良信息过滤技术:用数据证明自己是最好的
  16. HBase (1)---数据模型
  17. 【计算机毕业设计】1.房屋租赁系统
  18. codeforces 819 B(区间加线性函数值)
  19. QT network
  20. UE5如何将屏幕坐标转为世界坐标和世界方向

热门文章

  1. UFS系列9:UFS数据安全
  2. 8305E-TRICONEX 控制器卡件模块8306E-8310-3003-3004
  3. 年营业额200亿的廉价批发市场,代购手里一半的假包都来自这里
  4. 架构师内功心法之设计原则
  5. Ubuntu安装配置Nginx笔记
  6. 存储过程的优缺点个人总结
  7. 静态SQL和动态SQL
  8. [勇者闯LeetCode] 190. Reverse Bits
  9. springboot使用多线程处理高并发接口
  10. 2021银川九中高考成绩查询,2021年银川中考各学校分数线,历年银川中考分数线