python语言基础语法笔记

python学习网 2018-03-05 13:27:02

Python面向对象编程(OOP)

 

一、面向对象过程的优点特征:

封装

1 模型的特征和能力打包在一起
2 模型的改变由模型自身完成
3 隐藏模型的细节,外界只能使用,不能改变

继承

1 符合自然界分类规律
2 快速实现代码重用
3 符合现实世界中事物的特征

多态

1 子类可以继承父类的特征与能力
2 还可以通过自定义来修改其特征与能力
3 鸭子模型:
4          只要具有使用者的属性或能力便可以使用
5          |==>其他语言需要通过接口来实现
6                 不同类,相同方法
7                  相同类,不同方法

组合

1 一个模型可以由其他模型组成

二、类的具体实现和特征

1、类的定义

1 class TextClass:
2        pass

在python3中默认继承object父类

#python2默认为经典类,显式引用object类为新式类

#python3默认为新式类,不用显式引用object类

!!!!!

经典类继承为深度优先

新式类继承为广度优先

2、类的特征,能力,描述

【1】能力==>体现在方法上,类具有能动性

【2】特征属性,是具有自身包含或知道的模型

3、类的实例化

1 前面定义了TestClass类
2 接下来实例化
3 A=TestClass()

【1】与类的关系:定义类就是建立模型(就像是印章,模子)

                     实例就是产生真实的模型产品(产品)

【2】实例化步骤

   (1)‘__new__()'方法创建实例

自动从object继承

   (2)’__init__()'方法初始化实例

若是定义了,则从定义的'__init__'开始使用定义了的(就是方法的重载)

若是没有定义,则使用继承自object类的‘__init__'方法

4、添加类的说明

在类名的下一行用三引号标出

“”“
     docstring
                   ”“”

这就是类的说明文档

类的文档查看:

>>>help(A)

 

#A为要查看的类名

>>>A.__doc__

 

5、类的特征描述

【1】实例属性

  类被实例化才具有的属性

  一般在'__init__'()方法中创立并实例化

  直接使用即定义:self.<属性名>

    <1>在类内定义属性(定义类的时候)

    <2>在类外定义属性(在实例化以后)

    !注意:相同类的不同实例具有不同的属性值

   备注:一般不建议在__init__()方法外定义,创建和初始化实例,

               一般不推荐类外定义和修改,修改可以单独定义方法

 【2】类属性

    类属性使得相同类的不同实例具有相同的变量

    >>引用方法:类名.属性

 【3】类的私有属性

    ‘__'开头的变量名加以标志,只有类对象自己能访问。(内部实现时会自动改变变量名)

    ’__init__()'    初始化类的方法            ’__doc__'    类的说明文档

    ‘__dict__'    实例属性和值                 ’__module__'     类所在的模块

    ‘__base__'  父类

6、类的方法

【1】类方法定义

    类似面向过程中的函数定义方法

    第一个参数总是self

1 def  Foo(self,a):
2       self.a=a
3       print(self.a)

 【2】类方法的调用

   <1>类的内部调用:self.<方法名>(参数列表)

   <2>类的外部调用:<实例名>.<方法名>(参数列表)

 【3】构造方法    ’__init__()'      初始化实例

          实例化步骤:1、‘__new__()' 定义新的实例      2、’__init__' 初始化实例

 

 

>>>>>>>>>>>>>>未完待续2018-03-04<<<<<<<<<<<<<<<

 

阅读(716) 评论(0)