说道这里我们需要稍微暂停一下.前面我们说到了类是作为一个对象存放容器.这个容器里面有属性和方法.最好的理解类的方式就是把类想想成一个容器. 然后构造了一个析构函数和构造函数,然后又对object和self进行了解释,最后又说了一下重写.我们发现类作为一个存放对象的容器,其类也是一个对象. 类也有自己的__main__,__init__,__class__等属性.我们发现了,越来越多的时候,在Python里面用了很多下划线来表示这些意思.下划线分双下划线和单下划线两种,一共又存在5中组合,这5中组…
1. 设计一个类: 设计一个类主要从三个方面进行考虑: 第一:类名:类名要见名知意.首字母大写. 第二:属性. 第三:方法. 备注:在Python中有些东西并不是绝对化的事情,有些根据Python社区里面有些约定俗称的规定,在Python这种动态语言当中随处可见,比如像__._单双下划线的使用就是这个问题的一个体现. 2. 创建一个类: 类:一种数据类型,本身并不占内存空间,根据所学过的number.string.boolean等类似,用类创建实例化对象. 格式: class 类名(父类列表):…
1. 限制访问的问题: 如果学过C# 语言的我们可以知道C# 语言有get和set方法.我们之前想要获取父类中的私有变量,只能通过写一个set和get的函数进行访问或者通过类生成的新关键字来访问私有属性(_类名__私有变量).其实Python也给我们提供了一种get和set的方法.其内容就是一种装饰器的作用,采取@property和@变量名.setter的方式. 举例说明1: # 属性直接对外暴露 # 不安全,没有熟虑过滤 # 使用限制访问的话,需要些set和get方法. from types…
1. 软件编程的实质: 软件编程就是将我们的思维转变成计算机能够识别语言的一个过程.重要的是思想,代码技术反而次要.因此思想也是最难的,突破固定的思想是关键 2. 什么是面向过程: * 自上而下顺序执行,逐步求精. * 程序结构是按照功能划分成若干个基本模块,这也是一种树状结构. * 各个模块之间的关系尽可能简单,在功能上又相对独立. * 每一个模块内部结构是由顺序.选择.循环三种基本结构. * 模块化实现的方法是使用子程序. * 程序流程是在写程序时就已经决定了. 3. 什么是面向对象? *…
1. 构造函数: 为什么要有构造函数? 打一个比方:类的创建就是好比你创建了好了一种格式的房间,你租给上一个住户的后,里面会对方很多“垃圾”和不规则的物品摆放.构造函数就是下一个住户再使用的时候进行物品的初始化摆放,防止下一个用户再使用的时候会出现没有初始化物品错放的错误等. 构造函数的格式: __init__( ): 注意:在使用创建对象的时候会自动调用,构造函数用于初始化类实例的状态.如果不显式的创建构造函数,默认会自动添加一个构造函数.其实由于没有本身都会带上这个构造函.但是还是要写上比较…
1. 我们学了类的这些东西,用这些类我们来操作一个关于类的实例. 2. 题目:人开枪射击子弹,然后具有装弹动作,然后再开枪. 第一步:设计类: 人类名:Person属性:gun行为:fire,fillBullet 枪类名:Gun属性:bulletBox行为:shoot 弹夹类名:BulletBox属性:bulletCount行为: 分析:我们采取倒序的方式来设计这段面向对象的程序.人——枪——弹夹——发射,我们可以看出发射是最后一个动作. 第二步:创建类: 我们用图示的方式来演示这么一段代码的过…
1. 重载: overloading:就是将函数重新定义一遍. 1.1 __str__( )和__repr__( )的重载: 格式: __str__( ):在调用print打印对象时自动调用,是给用户用的,是一个描述对象的方法. __repr__( ):给机器用的,在Python解释器或者在cmd的黑屏终端里面输入,注意在没有str时,且有repr,str = repr,其实本事就是打印类本身想要实现的属性. 举例说明1: class Person(object): def __init__(s…
1. 对象属性和类属性. 我们之前接触到,在类中,我们一般都是通过构造函数的方式去写一些类的相关属性.在第一次介绍类的时候我们把一些属性写到构造函数外面并没有用到构造函数,其实当时在写的时候,就是在给类进行属性的添加,类也是具有属性. 举例说明1: class Person(object): """ 写在这个位置的叫做类属性 """ name = "Person" def __init__(self,name): "…
1. 多态的概念 多态:一种事物的多种形态.其表现形式就是连续的继承关系. 还以人喂食动物的例子.最终目标是人可以喂食任何一种动物.如果人要喂食100多种动物,难道要写100中方法吗?多态就是把属性和方法进行连续的继承方式 ,把属性和方法在不同的位置进行传导. 我们一一个图示为例子: 原来的继承方式是这样: 多态作为一种传导,变成为这样形式: 举例代码如下: # 定义一个人类,可以喂猫和老鼠吃东西 # 思考:人要喂100种动物,难道要写100种方法吗? # tom和jerry都继承自动物 cla…
1. 概念解释: 继承:有两个类:A类和B类.那么A类就拥有了B类中的属性和方法. * 例如:Object:是所有类的父亲,还可以成为基类或者超类(super()) * 继承者为子类,被继承者成为父类. 2. 继承的作用: * 继承花间了代码,减少了冗余. * 提高了代码的健壮性. * 提高了代码的安全性. * 是多态的前提.(Polymorphism) 继承也有缺点:继承是高内聚.高耦合的形态. (备注:耦合和内聚是描述类与类之间的关系.耦合性越低.内聚性越高,代码质量越好) 3. 单继承:…