面向对象由封装、继承和多态组成

封装:属性和方法写到类里
继承:子类继承父类方法与属性
多态:子类重写父类后再实例化为不同对象产生不同结果

类与对象

class Gun():def __init__(self,width):self.length = 100self.width = widthdef shoot(self):print('bang')print(self)
wuzi = Gun(3)
print(wuzi)
wuzi.blood_loss = 30

关系:用类实例化成一个对象,实例化也就是创造的意思,一个类可以创建多个对象
如上述的Gun即为一个类,wuzi即为实例化的对象
实例化对象 = 类()

实例/对象方法

类里面含有属性与方法,也就是变量和函数
使用shoot功能即为实例方法或称为对象方法
调用方法

wuzi.shoot()

self是什么

指的是调用该函数的对象,如上例,打印出的self对象的内存地址和wuzi的内存地址相同,及证明该self及为调用该函数的对象

属性

对象/实例属性

如上例在类的外面加的属性称为对象属性,blood_loss即为属性名

__init__方法

作用:初始化对象
如上例:
当实例化属性时,length属性自动生成;同时我们也可以给对象设置带参数的属性,如width

__str__方法

当print输出对象的时候,会打印出对象的内存地址,如果定义__str__方法就可以返回想要的输出

def __str__():return 'gun'

python面向对象(1) —— 封装相关推荐

  1. Python面向对象二 封装与修饰器

    Python面向对象二 封装与修饰器 1. 特殊方法 2. 封装 2.1 封装的引入 2.2 封装实例一 2.3 封装实例二 3. property装饰器 1. 特殊方法 • 在类中可以定义一些特殊方 ...

  2. python面向对象编程 -- 封装、继承

    面向对象编程 -- 封装.继承 面向对象编程三要素:封装.继承和多态.本文主要看和封装.继承相关的概念:在python中多态的概念比较模糊,本文不做讨论. 1 封装 封装:将数据和操作组装到一起,对外 ...

  3. python面向对象编程(封装与继承)

    一. 面向过程编程语言 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.分析出解决问题所需要的步 骤,然后用函数把这些步骤一步一步实现,使用的时候 ...

  4. python 面向对象的封装_Python面向对象封装操作案例详解

    本文实例讲述了Python面向对象封装操作.分享给大家供大家参考,具体如下: 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 ―― 将 属性 和 ...

  5. python 面向对象之封装与类与对象

    封装 一,引子 从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,小老虎一起装进麻袋,然后把麻袋封上口子.照这种逻辑看,封装='隐藏',这种理解是相当片面的 二,先看如何隐藏 在 ...

  6. python面向对象之封装、继承与多态

    目录 面向对象程序设计 类和对象 属性查找 数据属性 实例属性 类的封装 封装数据 封装⽅法(隔离复杂度) 类的⽅法 类的继承 继承概述 单继承 多继承 ⽅法重写 继承原理 深度优先&⼴度优先 ...

  7. 8.python之面相对象part.6(python面向对象之封装的概念)

    一.什么是封装? 对于什么是封装,我找到了一个很好的例子...就不在这里做解释了,以下内容来源于峰氏理论...与博主无关.... (下面内容转载自egon的博客) 你钱包的有多少钱(数据的封装) 你的 ...

  8. 【python面向对象】封装(面试题常考)

    本章节的内容常常在面试题中出现,大家根据本文的思路可以很好的掌握. 文章目录 封装浅层次 一.使用方法,封装变量 二.使用property (读取方法,写入方法),封装变量 三.使用property ...

  9. Python 面向对象、封装

    2019.04.17 一.面向对象与面向过程 二.名称空间操作 三.类与对象的概念 四.语法 五.对象查找属性的顺序 2019.04.18 1.类与对象的所有概念:__init__方法 2.类的方法与 ...

最新文章

  1. @angular/core里的 NgZone -使得Angular不跟踪变化
  2. 数据挖掘(Data mining、资料探勘、数据采矿)(情报检索、数据分析、模式识别)
  3. 闪电网络介绍以及试用 (下)
  4. JavaScript实现cartesianProduct笛卡尔乘积算法(附完整源码)
  5. 计算传递函数乘法_软件开发教程:计算机科学最重要的32个算法
  6. 【Matplotlib】详解图像各个部分
  7. html第八章制作花样链接卡,利用flex布局横向滚动制作滑动选项卡以及内容滑块...
  8. windows下mongoDB的环境配置
  9. 软件架构之道的一次感悟
  10. 将之前写完的猜数字游戏改为通过javabean_【沃德英语】好玩的单词游戏
  11. 零基础学python书籍-0基础学python,有什么教程或者书可以推荐吗?
  12. Vue学习笔记之07-v-for循环遍历
  13. 程序员最应该读的图书
  14. 2018 CVPR之语义分割:CCNet: Criss-Cross Attention for Semantic Segmentation
  15. steam版拳皇14无法正常启动
  16. 第3章 词性标注(pos、N-gram、NER等标注器)
  17. 【C语言】案例十六:掷骰子(随机数)
  18. 星巴克急了,瑞幸就稳了?
  19. 使用Oracle sql_trace 工具
  20. 工行华虹U盾在Vista和IE7下的解决方案

热门文章

  1. shell编程中如何执行oracle语句
  2. MySQL索引与Index Condition Pushdown(二)
  3. vue_ajax插件Axios
  4. sql基线建立-知识准备
  5. Js时间戳转为日期格式
  6. 一個textlist控件(左右兩個文本框)。
  7. [当人工智能遇上安全] 1.人工智能真的安全吗?浙大团队外滩大会分享AI对抗样本技术
  8. 【数据结构与算法】之深入解析“搜索旋转排序数组”的求解思路与算法示例
  9. 常用Python代码
  10. Python如何嵌入C/C++进行开发