Python 面向对象类概念介绍

来源:互联网 发布:淘宝买的游戏厅游戏币 编辑:程序博客网 时间:2024/06/16 03:21


Python 高级教程

 

  1. Python面向对象

    类:相同属性和方法的对象的集合。对象是类的实例

    类变量(全局变量):整个实例化的对象公用的,定义在函数体之外,通常不作为实例变量使用

    实例变量(局部变量):定义在方法中,工方法使用

    数据成员:类变量或实例变量用于处理类及其实例对象的相关的数据

    方法重写(覆盖override):父类继承的自雷方法不能满足需要,可以重写

    继承:派生类继承基类

    实例化:创建一哥类的实例,类的具体对象

    方法:类中定义的函数

    对象:通过类定义的数据结构实例,对象包括两个数据成员(类变量和实例变量)和方法

     

    创建类:

    class Classname:

    说明信息

    class_suit #类体,由类成员、方法、数据属性组成

     

    实例:

     

    empCount是类变量

    __init__:构造函数或初始化方法

    Self代表类的实例,定义类的方法是必须有,但是调用时不用传入

     

     

     

    创建实例对象:

    类似于函数调用:

    创建对象

    Emp1 = Employee(ssss,2000)

    Emp2 = Employee(ssdd,2000)

    访问属性:

    用点(.)访问对象的属性

     

    也可以:

     

    Python对象销毁(垃圾回收)

    使用“引用计数”来跟踪和回收垃圾,记录着所有对象各有多少引用

    一个内部跟踪变量,叫做“引用计数器”

    创建对象时就创建了一个引用计数,对象不需要是引用计数归0,倍垃圾回收,但回收不是“立即”的,有解释器在适当的时机,将垃圾对象占用的内存空间回收

    + “循环垃圾收集器”处理循环引用情况

     

    析构函数:

      __del__:对象销毁时候调用,也可以转自己运行此方法

     

    类的继承:

    代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。

     

    需要注意的地方:继承语法 class派生类名(基类名)://...基类名写在括号里,基本类是在类定义的时候,在元组之中指明的。

     

    python中继承中的一些特点:

    1:在继承中基类的构造(__init__()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。

    2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别在于类中调用普通函数时并不需要带上self参数

    3Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。

     

    如果在继承元组中列了一个以上的类,那么它就被称作"多重继承"

     

     

     

     

     

     

    基础重载方法:

    1 __init__ ( self [,args...] )

    构造函数

    简单的调用方法: obj = className(args)

    2 __del__( self )

    析构方法,删除一个对象

    简单的调用方法 : del obj

    3 __repr__( self )

    转化为供解释器读取的形式

    简单的调用方法 : repr(obj)

    4 __str__( self )

    用于将值转化为适于人阅读的形式

    简单的调用方法 : str(obj)

    5 __cmp__ ( self, x )

    对象比较

    简单的调用方法 : cmp(obj, x)

     

    运算符重载:

     

     

    类属性与方法

    类的私有属性:__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时self.__private_attrs

    类的方法:在类的内部,使用 def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数

    类的私有方法:__private_method:两个下划线开头,声明该方法为私有方法,不能在类地外部调用。在类的内部调用self.__private_methods

     

    单下划线、双下划线、头尾双下划线说明:

    头尾双下划线:__foo__:定义的是特殊方法,一般是系统定义名字 ,类似 __init__()之类的。

    单下划线:_foo:以单下划线开头的表示的是 protected类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *

    双下划线:__foo:双下划线的表示的是私有类型(private)的变量,只能是允许这个类本身进行访问了。

     

     

原创粉丝点击