一、面向过程和面向对象

1.面向过程:是一种以事件为中心的编程思想,更关注过程。简单的问题可以用面向过程的思路来解决,直接有效,但是当问题的规模变得更大时,用面向过程的思想是远远不够的。所以慢慢就出现了面向对象的编程思想。

优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:不易维护、复用和拓展
2.面向对象:世界上的每个人或事务都能看成一个对象,每个对象都有自己的属性和行为,对象与对象之间通过方法来交互。面向对象是一种以“对象”为中心的编程思想,把要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个对象在整个解决问题的步骤中的属性和行为。

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:性能比面向过程低
3.扩展:高内聚、低耦合

①内聚:模块内部的代码,例如方法,变量,对象,或者是功能模块。相互之间的联系越强,内聚就越高,模块的独立性就越好。一个模块应该尽量的独立,去完成独立的功能

②耦合:模块与模块之间有些操作是有关联的,例如水桶效应,一个水桶若是有一块木板比其他木板短,那么这个水桶装的水也就会相应减少,因此模块与模块之间的关系越是紧密,独立性就越不好,就容易产生连锁反应

③模块:就是将大型系统的复杂问题,分成不同的小模块,去处理问题

二、类和对象

1.类:

①定义:类是抽象的,在使用的时候通常会找到这个类的一个具体的存在,使用这个具体的存在。一个类可以找到多个对象

②构成:三部分

类的名称:类名
类的属性:一组数据
类的方法(行为):允许对其进行操作的方法
③举例:人类

名称:人
属性:姓名、身高、年纪
方法:吃饭、睡觉、上厕所
④抽象类:拥有相同(或者类似)属性和行为的对象都可以抽像出一个类

⑤举例:小明在公交车上牵着一只叼着热狗的狗

小明 --- 人类
公交车 --- 交通工具类
热狗 --- 实物类
狗 --- 狗类
⑥格式:

说明:

  • object是Python里所有类的最顶级父类
  • 类名的命名规则按照"大驼峰命名法"
  • cat和dog是实例方法
  • 第一个参数一般是self,表示实例对象本身,也可以使用其它的名字,其作用是设置一个变量,这个变量指向了实例对象

三.魔法方法:

1.介绍:Python的类里提供的,两个下划线开始,两个下划线结束的方法,就是魔法方法

2.__init__():

①定义:

__init__()就是一个魔法方法,通常用来做属性初始化或赋值操作,在实例化对象的时候会被自动调用
__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。
如果类面没有写__init__方法,Python会自动创建,但是不执行任何操作
一个类里无论自己是否编写__init__方法一定有__init__方法

python面向对象相关推荐

  1. python面向对象的优点_Python面向对象编程——总结面向对象的优点

    Python面向对象编程--总结面向对象的优点 一.从代码级别看面向对象 1.在没有学习类这个概念时,数据与功能是分离的 def exc1(host,port,db,charset): conn=co ...

  2. 这可能是Python面向对象编程的最佳实践

    作者 | 崔庆才 来源 | 进击的Coder(ID:FightingCoder) Python 是支持面向对象的,很多情况下使用面向对象编程会使得代码更加容易扩展,并且可维护性更高,但是如果你写的多了 ...

  3. 第八课.Python面向对象(二)

    类的继承和多态 继承和多态与函数有共同的目的,都是为了减少代码的冗余,提高复用的效率: 根据"Python面向对象(一)"的笔记,我现在定义一个Cinema类: #父类 class ...

  4. Python面向对象编程:类继承和其衍生术语

    Python面向对象编程03:类继承和其衍生术语 前面我们讲到过正则表达式字符等,上一篇分享了面向对象编程和类的结构,最后稍微提到了继承. Python面向对象编程:深度认识类class_ Pytho ...

  5. 《Python面向对象编程指南》——1.2 基类中的__init__()方法

    本节书摘来自异步社区<Python面向对象编程指南>一书中的第1章,第1.2节,作者[美]Steven F. Lott, 张心韬 兰亮 译,更多章节内容可以访问云栖社区"异步社区 ...

  6. Python 面向对象 基础

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

  7. python面向对象类属性_python面向对象之类属性和类方法案例分析

    本文实例讲述了python面向对象之类属性和类方法.分享给大家供大家参考,具体如下: 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 -- 实例 使用面相对象开发, ...

  8. 关于python面向对象编程中、下列说法中_关于Python面向对象编程的知识点总结

    前言 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程. 接下来我们 ...

  9. python对象编程例子-这是我见过最详细的Python面向对象编程!建议收藏!

    原标题:这是我见过最详细的Python面向对象编程!建议收藏! 面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别. 面向过程编程: 1. 导入各种外部库 2. 设计各种全局变量 ...

  10. python面向对象编程的优点-Python面向对象编程——总结面向对象的优点

    Python面向对象编程--总结面向对象的优点 一.从代码级别看面向对象 1.在没有学习类这个概念时,数据与功能是分离的 def exc1(host,port,db,charset): conn=co ...

最新文章

  1. 冇内容管理系统分析-[JS]详尽解析window.event对象
  2. AWS — AWS Snow 系列
  3. CentOS下Redis的安装
  4. hdu 3392 Pie
  5. ML之xgboost:基于xgboost(5f-CrVa)算法对HiggsBoson数据集(Kaggle竞赛)训练(模型保存+可视化)实现二分类预测
  6. WPF编程,TextBlock中的文字修饰线(上划线,中划线,基线与下划线)的使用方法。...
  7. 透过汇编另眼看世界之多继承下的虚函数函数调用
  8. 2017《面向对象程序设计》课程作业三
  9. java对List的优雅排序
  10. VB讲课笔记01:VB6.0安装与启动
  11. SAP License:MES与ERP系统如何分工合作
  12. fedora 安装docker
  13. C语言随笔小算法:char字节流与结构体变量相互转换
  14. QT5之exe发布及dll打包
  15. Kubernetes入门——从零搭建k8s集群
  16. 《Head First 设计模式》之迭代器与组合模式——遍历合并的菜单
  17. 超实用的大学网课答案搜题软件及公众号有哪些?
  18. python使用turtle库绘制一个100长度的十字架_哪个选项能够使用turtle库绘制一个半圆形?...
  19. vmware 克隆虚拟机的关键步骤
  20. 香港喜运佳,承载着太多的回忆

热门文章

  1. Protel99se常用快捷键
  2. 云​大数据和计算技术周报(第47期)
  3. 【教程搬运】廖雪峰Git的使用教程(一)
  4. Mac Python下载安装教程
  5. vue如何设置视频封面_vue制作朋友圈封面视频_朋友圈封面设置视频
  6. 智能手机玩转Smart3D三维建模介绍
  7. SQL Server 2008R2密钥
  8. Java学习手册:JDBC中getString()方法与getObject()方法有什么区别?
  9. java lambda函数_Java中的Lambda函数
  10. 毕马威深度解读北京自贸试验区方案