面向对象的程序设计

一、面向对象的程序设计简介

1、面向对象程序设计的由来。

我们之前虽然学习过了面向过程的程序,它的核心是面向过程,一步一步的设计好了的流程,虽然极大的降低了程序的复杂度,但是一个设计

好了的流程只能满足一个程序后期的可扩展性差,所以为了解决面向过程的程序可扩展性差的缺点,产生了面向对象的程序。他是解决了

面向过程中可扩展性差的问题,如果程序需要扩展就可以对需要扩展的某个对象单独进行修改,就会立刻反映到整个程序体系中,不需要

牵一发而动全身。

注释:像操作系统的开机流程,他就相当于一个面向过程的程序,一步一步设计好了的,但是像我们玩的王者荣耀中的英雄人物,他们就是一

个面向对象的程序,因为某个英雄要添加新的技能时就可以在这个英雄的对象里面添加。

2、面向对象程序的优缺点。

1.优点:解决了程序的可扩展性,对某一程序对象的单独修改就可以立刻反应到整个体系中,一般应用于程序变动需求比较大的软件中,比较

游戏,人物的特征与技能都是面向对象程序大展身手的好地方。

2.缺点:可控性差,无法向面向过程的程序设计流水线式的可以很精准的预测问题的处理流程与结果,面向对象的程序一旦开始就由对象之间的

交互解决问题,即便是上帝也无法预测最终结果。于是我们经常看到一个游戏人某一参数的修改极有可能导致阴霸的技能出现,一刀砍死

3个人,这个游戏就失去平衡。

二、类和对象

1、对象和类的定义

在英雄联盟,每个玩家选一个英雄,每个英雄都有自己的特征和和技能,特征即数据属性,技能即方法属性,特征与技能的结合体就一个对象。

在一组对象中,从他们的特性和技能中提取共有的内容就是类,类是相同特征和技能的结合体。

2、python中对象和类的表示方式。

在python中,用变量表示特征,用函数表示技能,因而类是变量与函数的结合体,对象是变量与方法(指向类的函数)的结合体

三、类简介

1、创建一个类。

class 类名:

'类的文档字符串' #相当于定义了个变量(特性)也可以是字符串,统称为类的数据部分。

类体#相当于定义了个函数(技能),统称为类的函数部分。

2、类的作用。

1.作用1是属性引用(引用=增删改查):

1.1引用类的数据属性,该属性与所有对象/实例共享。

格式为:类名.变量名(类中定义的变量的变量名)#可通过print(类名.变量名)来查看相对应的值

1.2引用类的函数属性,该属性与所有对象/实例共享。

格式为:类名.函数(类中定义的函数)#可通过print(类名.函数)来查看相对应的值

1.3删除类的属性

格式为 :del 类名.变量名(类中定义的函数)

1.4增加类的属性

格式为 :类名.需要增加的变量名=‘ 字符串’

2.作用2是实例化(__init__与self)

2.1.类名加括号就是实例化,会自动触发__init__函数的运行,可以用它来为每个实例定制自己的特征。

2.2.self的作用是在实例化时自动将对象/实例本身传给__init__的第一个参数,self可以是任意名字,但是瞎几把写别人就看不懂了。

3、查看一个类。

1.格式:dir(类名)#查出的是一个名字列表

2.格式:类名.__dict__#查出的是一个字典,key为属性名,value为属性值

四、对象简介

1、对象是关于类而实际存在的一个例子,先有类再有对象。

2、对象/实例只有一种作用:属性引用

3、对象/实例本身只有数据属性,但是python的class机制会将类的函数绑定到对象上,称为对象的方法,或者叫绑定方法,绑定方法唯一绑定一个对象

同一个类的方法绑定到不同的对象上,属于不同的方法,内存地址都不会一样。

五、 类名称空间与对象/实例名称空间

1、创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性

2、类有两种属性:数据属性和函数属性其中类的数据属性是共享给所有对象的而类的函数属性是绑定到所有对象的:

3、创建一个对象/实例就会创建一个对象/实例的名称空间,存放对象/实例的名字,称为对象/实例的属性。在obj.name会先从obj自己的名称空间里找

name,找不到则去类中找,类也找不到就找父类...最后都找不到就抛出异常

python判断性别程序设计_python基础15 ---面像对象的程序设计相关推荐

  1. python判断性别程序_python 实现性别识别

    使用keras实现性别识别,模型数据使用的是oarriaga/face_classification的模型 实现效果 准备工作 在开始之前先要安装keras和tensorflow 安装keras使用命 ...

  2. python基础15 ---面像对象的程序设计

    面向对象的程序设计 一.面向对象的程序设计简介 1.面向对象程序设计的由来. 我们之前虽然学习过了面向过程的程序,它的核心是面向过程,一步一步的设计好了的流程,虽然极大的降低了程序的复杂度,但是一个设 ...

  3. python基础程序设计与面向对象程序设计_python基础——面向对象的程序设计

    python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...

  4. python常用变量名_python基础知识整理

    Python Python开发 Python语言 python基础知识整理 序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充程序: 一 ...

  5. python 条件表达式换行_Python基础语法 - LongKing-Xu的个人空间 - OSCHINA - 中文开源技术交流社区...

    python基础语法 一.标识符 在Python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. 在Python中的标识符是区分大小写的. 在Python中以下划线开头的标识符是有 ...

  6. python.集合转列表_Python基础数据类型:元组、列表、字典、集合

    你好,我是goldsunC. 让我们一起进步吧! 元组.列表.字典.集合 元组和列表是Python语言中非常重要的一部分内容,它们是Python中除了字符串以外的另两种序列结构,几乎在任何地方都少不了 ...

  7. 自学python编程基础科学计算_Python基础与科学计算常用方法

    Python基础与科学计算常用方法 本文使用的是Jupyter Notebook,Python3.你可以将代码直接复制到Jupyter Notebook中运行,以便更好的学习. 导入所需要的头文件 i ...

  8. python判断文件后缀_Python 判断文件后缀

    原博文 2019-04-24 12:43 − # 方法1, str的endswith方法: ```python ims_path='data/market1501/Market-1501-v15.09 ...

  9. 用python做问答测试_python基础(核心)测试题

    1.[单选题] 有字典:d = {"a": 3, "b": 2, "c": 1},print(max(d))得到的结果是?() A.(&qu ...

最新文章

  1. 全球CMOS图像传感器厂商最新排名:黑马杀出
  2. OpenCASCADE:物理STEP文件
  3. 【算法小积累】 - 提取非0数最右侧的1
  4. 2017.8.10 loli 测试
  5. (转)Spring Boot(十七):使用 Spring Boot 上传文件
  6. JWT Token在线编码生成
  7. HDU1557 权利指数【状态压缩】
  8. ai的预览模式切换_当AI频繁切换色彩预览模式时 颜色会越变越深 求解?
  9. windows通过注册表修改IP
  10. 【暂时完结】Prescan学习笔记
  11. 学校计算机室电气设计,教学楼配电设计浅析
  12. 用Python实现简单的人脸识别,10分钟搞定!(附源码)
  13. 核心网upf作用_5G核心网SMF和UPF拓扑增强技术研究
  14. 华为手机怎么连接苹果电脑?
  15. 阿里云ACE北京同城会-景山活动
  16. linux 系统找回密码,Linux系统密码忘记后的五种恢复方法
  17. for in在python中什么意思_Python for 循环中 in 关键字含义是什么?
  18. 幼儿抽象逻辑思维举例_孩子逻辑思维能力有多重要?巧用生活小游戏,培养好了娃受益终身...
  19. MA5680T降级操作及注意事项
  20. 路由器的基本配置命令

热门文章

  1. Linux操作系统命令解释
  2. mysql 查询条数优化_MySQL优化总结-查询总条数
  3. 跟KingDZ学HTML5之八 HTML5之Web Save
  4. 【数据结构笔记30】拓扑排序、AOV网络、AOE网络、关键工序
  5. 软件测试必读的七本书
  6. java让文件隐藏文件_使用java8API遍历过滤文件目录及子目录及隐藏文件
  7. android图标成功,Android多启动图标实现
  8. mysql配置主从数据库_mysql配置主从数据库
  9. 使用SimpleDateFormat出现时差
  10. ubuntu下安装PCL并测试(含视频安装过程记录)