Python3.5-20190518-廖老师-自我笔记-面向对象
面向对象编程,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
把老师分为一类,把学生分为一类.具体到某一个学生就是 这类中的一个具体对象,对象的
共同属性和方法可以定义在类中.特殊的可以自己额外添加. 类也可以额外添加属性和方法
在Python中,所有数据类型都可以视为对象,当然也可以自定义对象.
数据封装、继承和多态是面向对象的三大特点
私有属性,私有方法,在类外面禁止使用的.加上__只是修改了名字,其实在外面也可以使用.
给实例额外添加方法:
继承和多态:
当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。
当子类和父类都存在相同的方法时,我们说,子类的覆盖了父类的,在代码运行的时候,总是会调用子类的。这样,我们就获得了继承的另一个好处:多态。
这就是多态真正的威力:调用方只管调用,不管细节,而当我们新增一种的子类时,只要确保方法编写正确,不用管原来的代码是如何调用的。这就是著名的“开闭”原则:
对扩展开放:允许新增子类;
对修改封闭:不需要修改依赖原来的 类型的方法.
Python3.5-20190518-廖老师-自我笔记-面向对象的更多相关文章
- Python3.5-20190519-廖老师-自我笔记-面向对象中slots变量--@property的使用
python是动态语言,可以随时随地给实例对象添加属性和方法,但是我们想限制属性的名字,可以使用__slots__特殊变量来限制 使用__slots__要注意,__slots__定义的属性仅对当前类实 ...
- Python3.5-20190526-廖老师-自我笔记-单元测试-参数换-paramunittest
参数化: import timeimport list1 #想测试list1中的求和函数是否正确fun1import paramunittestimport unittest #先设置参数组@para ...
- Python3.5-20190521-廖老师-自我笔记-单元测试
执行结果
- Python3.5-20190503-廖老师-自我笔记
列表和元组 list1 = [1,4,6,788,345,757] tuple1 = (345,234,567,878) 切记你的变量名不能和 hel ...
- Python3.5-20190502-廖老师-自我笔记
python的语法主要就是严格的缩进.一般缩进都是四个空格.以冒号结尾的(:)就意味着他后面有代码块.(js代码块使用{}抱起来的,我记得c语言也是,但是python就不需要,他只要严格缩进的就可以了 ...
- Python3.5-20190519-廖老师-自我笔记-获取对象信息
总是优先使用isinstance()判断类型,可以将指定类型及其子类“一网打尽”. 如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象 ...
- Python3.5-20190518-廖老师-自我笔记-模块
在Python中,一个.py文件就称之为一个模块(Module) 可以作为module的文件类型有".py".".pyo".".pyc".& ...
- Python3.5-20190516-廖老师-自我笔记-匿名函数-装饰器
当函数很简单的时候采用匿名函数很方便.
- Python3.5-20190513-廖老师-自我笔记-函数式编程
把复杂的任务拆成各个小的函数,通过函数的调用来完成任务.这就是面向过程编程. 高阶函数:就是让函数的参数能够接收别的函数.把函数作为参数传入到另一个函数. 函数名也是变量.和变量用法一样的,指向一个函 ...
随机推荐
- thread 类详解
java.lang.Thread类详解 一.前言 位于java.lang包下的Thread类是非常重要的线程类,它实现了Runnable接口,今天我们来学习一下Thread类,在学习Thread类之前 ...
- Web核心之tomcat汤姆猫
web相关概念 1. 软件架构 1. C/S:客户端/服务器端 2. B/S:浏览器/服务器端 2. 资源分类 1. 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏 ...
- vue项目中echarts使用渐变效果报错echarts is not defined
解决办法:在当前单组件中在引用一次
- webpack 图片文件处理loader
目录结构: 引用图片: body { /*background: red;*/ /*background: url("../img/test2.jpg"); 小图片*/ backg ...
- springMVC使用map接收入参 + mybatis使用map 传入查询参数
测试例子: controllel层 ,使用map接收请求参数,通过Debug可以看到,请求中的参数的值都是字符串形式,如果将这个接收参数的map直接传入service,mybatis接收参数时会报错, ...
- sql 2008查看进程情况和对应语句,检查死锁进程
---------------------------------进程情况1----------------------- --得到SPID if object_id('tempdb..#info') ...
- JS中数据结构之图
图由边的集合及顶点的集合组成.边是有方向的是有序图(有向图),否则就是无序图(无向图).图中的一系列顶点构成路径,路径中所有的顶点都由边连接.路径的长度用路径中第一个顶点到最后一个顶点之间边的数量表示 ...
- 新建工程spring boot
新建工程spring boot 使用Maven管理, 在官网(http://atart.spring.io)下载demo后,加入依赖 <dependency> <gr ...
- LintCode之奇偶分割数组
题目描述: 我的分析:题目要求将奇数放在偶数的前面,没有要求将奇数或偶数排序,因此我可以设置两个指针,一个(i)指向数组第一个数字,另一个(j)指向数组的最后一个数字,因为奇数要放在前面,所以从后往前 ...
- php面试专题---2、常量及数据类型考点
php面试专题---2.常量及数据类型考点 一.总结 一句话总结: 变量为null和变量判断为false的情况需要仔细注意下 1.PHP中字符串可以使用哪三种定义方法以及各自的区别是什么? 单引号:不 ...