持续学习python+django中... 一.接口简述 在我们所熟知的面向对象编程语言中,大多提供了接口(interface)的概念.接口在编程语言中指的是一个抽象类型,是抽象方法的集合:它的特点如下: 1.类通过继承接口的方式,来继承接口的抽象方法: 2.接口并不是类(虽然编写类和方法的方式很相似): 3.类描述对象的属性和方法(实现接口的类,必须实现接口内所描述的所有方法,否则必须声明为抽象类): 4.接口包含类要实现的方法(接口无法被实例化,但可以被实现): 总结:接口只定义规范,不负责…
前面讲了面向类与对象的继承,知道了继承是一种什么"是"什么的关系. 然而类与类之间还有另一种关系,这就是组合 先来看两个例子: 先定义两个类,一个老师类,老师类有名字,年龄,出生的年,月和日,所教的课程等特征以及走路,教书的技能. class Teacher: def __init__(self,name,age,year,mon,day): self.name=name self.age=age self.year=year self.mon=mon self.day=day def…
我们在https://www.cnblogs.com/yinsedeyinse/p/9976280.html中学习了面向对象的编程方法.现在学习他的进阶用法. 1. 静态方法 2. 类方法 3. 属性方法 4. 类的特殊功能方法 静态方法.类方法以及属性方法:我们先定义一个类,在类里定义一个方法 class Person(object): def __init__(self,name): self.name = name def eat(self,food): print("%s is eati…
1. 面向对象编程 OOP ( Object  Oriented Programming) 即面向对象编程. 面向对象编程是一种编码思想,或是一种代码组织方式.如同编辑文章时,可以选择分段.分节的方式让文章看起来有层次.更方便阅读或修改. 编码时可以选择使用 OOP 方案,也可以选择不使用.如同行文一样,使用或不使用都不会对核心逻辑产生影响. 面向对象编程有自己的核心编码理论,对于任何一种计算机语言而言,如果选择支持此理论,则称此计算机语言支持面向对象编程.如 C++.Java.Python--…
转自:http://blog.csdn.net/mickey_miki/article/details/7911323 步骤1:下载Twisted http://twistedmatrix.com/trac/wiki/Downloads 当前版本是Twisted 12.1.0 for Python 2.5 步骤2:安装Twisted Twisted-12.1.0.win32-py2.5.msi直接运行即可 这时候,运行IDLE,输入from twisted.internet import rea…
最近想学 twisted ,就去下载 twisted 的windows版本,并且 安装.运行 twisted 例子后,发现出现了问题: ImportError: Twisted requires zope.interface 3.6.0 or later: no module named zope.interface. 是少了 zope.interface ,于是就去官网下载,但问题仍然没有解决,这下看了一些博客的安装顺序为: zope.interface -> twisted .于是照做了,在…
面向对象编程之继承 继承的定义:是一种新建类的方式,新建的类称之为子类或派生类,被继承的父类称之为基类或超类 继承的作用:子类会""遗传"父类的属性,从而解决代码重用问题.也就是减少代码的冗余 继承的实现 继承描述的是子类与父类之间的关系,是一种什么是什么的关系.要找出这种关系,得先抽象,再继承.抽象即抽取类似或者说比较像的部分.分为以下两个方面: 抽取对象之间相似的部分,总结出类 抽取类之间相似的部分,总结出父类 语法:子类名(父类名) # 父类 class Animal:…
面向对象编程之封装 封装 定义:将属性和方法一股脑的封装到对象中,使对象可通过"对象."的方式获取或存储数据. 作用:让对象有了"."的机制,存取数据更加方便 # 定义类,调用类创建对象,这个过程可理解为封装 class Teacher: def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender def score(self): print(…
面向对象编程之反射 反射 定义:通过字符串对对象的属性和方法进行操作. 反射有4个方法,都是python内置的,分别是: hasattr(obj,name:str) 通过"字符串"判断对象的属性或方法是否存在.返回bool值,True表示有,False表示没有. 注意:查询方法时,只需写方法名,不要加小括号!!! class User: def __init__(self, name, age, gender): self.name = name self.age = age self…
面向对象编程之多态以及继承.抽象类和鸭子类型三种表现形式 多态 定义:同一种类型的事物,不同的形态 作用: 多态也称之为"多态性".用于在不知道对象具体类型的情况下,统一对象调用方法的规范(比如说名字) 表现形式:有3种,分别是继承.抽象类和鸭子类型 继承:耦合度高,程序的可扩展性低 实现 父类:定义一套统一的规范(比如:方法名统一) 子类:遵循父类的统一规范(比如:子类遵循父类方法名称的统一) 抽象类:耦合度极高,程序的可扩展性极低 由于在python中,继承并不会强制子类必须要遵循…