zoukankan      html  css  js  c++  java
  •  一。类和对象

          1. class 关键字定义一个类,首字符通常要大写,类里面主要有两种数据:

              属性

              方法

         2. 通过定义的类,创建的实例就是对象,对象的属性和方法和类的成员变量及成员函数想对应

         3. 对象有3个特性:

            对象的句柄,属性,方法

         4.python的实例化和函数的调用相似,使用类名加圆括号的方式。

    二。类的属性

             1. 私有属性:属性的名字是以两个下划线开始

                   A。类的外部不能直接访问私有属性

                   B。通过以下模式调用:instance._classname_attribute

                        instance:实例化的对象

                        classsname:类名

                        attribute:私有属性

             2. 公有属性:没有下划线的属性

             3. 实例属性:以self作为前缀的属性

             4. 静态属性:又叫类变量/类属性,

                   A。没有self,可以在该类的所有实例中共享,

                   B。类和对象都可以直接访问类属性

            5. 内置属性:属性名字两侧均有双下划线:如,__dict__,__doc__,__bases__

        类的属性和方法定义次序没有要求,合理的方式是把类的属性定义在类最前面,然后定义私有方法,最后定义公有方法

    三. 类的方法:

             self参数:是区分方法和函数的标志,表示指向实例对象本身,

                           类是一个产生实例的工厂,在定义类的时候,会产生类的命名空间及物理内存,

                           在类实例化,生成实例时,同样会产生该实例的命名空间及物理内存,当有多个

                           实例同时存在时,通过self参数的传入,把self.data存入到个各个不同的实例

                           命名空间里。        

         1. 公有方法:

             

         2. 私有方法 :方法名前有双下划线, 

             不能被模块外的类和方法调用,也不能被外部的类和函数调用

         3. 静态方法:

             @staticmethod声明

              staticmethod()可以把一个方法转换为静态方法。

         4. 类方法:

             @classmethod声明

               classmethond()

              把类作为第一个参数(cls)传递

         5. 实例方法:

         6. 类的内置方法:方法名字两侧均有双下划线,如:__init__,__del__,__str__

                       

    四。一些内置方法:

          __init__方法:

         1. 构造函数

         2. 用于初始化类的内部状态,为类的属性设置默认值

             2.1 定义实例变量或属性

             2.2 程序初始化

             如果需要了解一个实例的属性和特点,可以查看类里的__init__方法。

         3. 调用:可以随时调用

             fruit.__init__(color)

        __del__方法:

         1. 析构函数

         2. 用于释放对象占用的资源

         3. 程序里可选,如果程序里没有析构函数,python会提供默认的析构函数,如果定义了

             则实例无法被python的循环垃圾收集器(gc)收集,建议只在需要时定义此函数

    五。类的继承:

          1. 概念及调用:

              类名后使用一对括号表示继承,括号里的类即为父类

              如果父类定义了__init__方法,子类必须显示的调用父类的__init__方法。

               调用父类 __init__方法的模式:

               A。Fruit.__init__(self,color) 

               B。super(type,obj):

                    type:某个类,

                    obj:该类的实例化对象

                    super(Apple,self).__init__

          2. 抽象基类:

              对一类事物的特征行为的抽象,由抽象方法组成,在python3中可以使用abc模块,这个模块中有个元类ABCMeta和

              修饰器@abstractmethod。抽象基类不能被直接实例化

          3. 多态性:

              继承机制说明子类具有父类的公有属性和方法,而且子类可以扩展自身的功能,添加新的属性和方法。因此,子类可以

              替代父类对象,这种特性称之为多态性。

          4.多重继承;

              1个类可以继承多个父类:class_name(parent_class1,parent_class2...)

           5.Mixin机制:

    六。 在模块里导入类:

           from modulename import firstclass

           class secondclass(firstclass)

                 def 。。。。    

  • 相关阅读:
    七月份文章收藏
    五月份文章收藏
    二月份文章收藏
    一月份文章收藏
    nmap数据流
    memcached未授权
    Redis未授权漏洞利用方式
    requests sslerror
    欢迎来到Curl的世界
    Dig命令解析结果
  • 原文地址:https://www.cnblogs.com/derekchen/p/5494678.html
Copyright © 2011-2022 走看看