zoukankan      html  css  js  c++  java
  • python(十七)类里的各种方法和变量

    类方法

          类里面自带的方法,不用实例化就可以调用,(相当于模型上自带的功能)   

          类方法是公共的,在实例方法里面可以随意调用    

          但在类方法里不能调用实例方法,不能使用实例变量,但是他可以调用其他的类方法

        

    @classmethod
        def cry(cls):
            print('%s'%cls.eye)

    类变量

         在类中,不在方法中定义的变量  不加self的变量  就是类变量,不需要实例化类就可以调用该变量

    class Person:
        eye='brown'

    实例方法

        需要实例化后,才能调用该方法

    实例变量

         需要实例化后,才能调用该变量

    属性方法

         看起来像变量的函数

        

    @property    
    def work_age(self):
            self.help()
            create_time = 1528860238
            result = (time.time()  - create_time) / (365*24*60*60)
            return round(result,1)
    cms = User()
    print(cms.work_age)

    私有变量和私有方法:

         不是公用的,只能在类里面调用,不能再类外面调用,方法或变量以__开头的,就是私有

    静态方法

    一个和类没有关系的方法

    不能调用实例方法,也不能调用类方法

    @staticmethod
        def help():
            print('help')

    继承

    子类继承父类公共的方法,也可以重写父类的方法

    父类的私有方法和私有变量不能继承

    重写:

        直接覆盖父类方法

       在父类的基础上添加新功能

       

    class Car:
        def run(self):
            print('run')
    
    class CcxCar(Car): #覆盖式的
        def run(self):
            print('拐弯跑')
    
    class CmcCar(Car): #在父类方法的基础上做修改
        def run(self):
            super().run()
            print('充电')

    魔鬼方法:

             一个类里面有一些特殊作用的方法,不需要你调用,在一些情况下会自动运行

             类里面 __funname__ 都是魔法方法,有一些特殊作用,比如 __init__()

  • 相关阅读:
    caffe杂
    easyui 扩展layout的方法,支持动态添加删除块
    easyui换主题,并记录在cookie
    $.messager.show扩展:指定位置显示
    easyui 扩展 之 Tree的simpleData加载
    easyui menu 添加hideItem/showItem 方法
    HTML标签及属性大全
    适应各种内核浏览器的透明修过样式
    让IE6支持min-width和max-width的方法
    javascript获取html标记的的绝对定位值
  • 原文地址:https://www.cnblogs.com/dmjsd/p/13492267.html
Copyright © 2011-2022 走看看