zoukankan      html  css  js  c++  java
  • 第二十二天:有关类的一些方法

    classmethod

    classmethod是python自带的装饰器

    作用

    装饰定义在类中的函数,使这个函数变成类的绑定方法,我们都知道对象的绑定方法的特殊之处在于,它会把对象当作第一个参数传入,而类的绑定方法与此相似,它会把对象当第一个参数传入。

    使用方法

    class Test:
        
    	@classmethod
    	def call(cls):
            pass
        
    

    staticmethod

    与classmethod相同,它也是一种python自带的装饰器

    作用

    装饰定义在类内部的函数,使这个函数既不是类的绑定方法,也不是对象的绑定方法

    使用方法

    class Test:
        
    	@staticmethod
    	def call():
            pass
    

    isinstance

    python的内置函数,用于判断一个对象是否是一个类的实例,该函数有两个参数,需要传个对象和一个类,返回一个布尔值

    class Foo:
    	pass
    
    foo = Foo()
    print(isinstance(foo,Foo))
    
    

    issubclass

    python 内置函数,用于判断一个类是否是另一个类的子类,该函数需要传两个类进去,返回一个布尔值

    class Foo:
    	pass
    	
    class Goo(Foo):
    	pass
    	
    print(issubclass(Goo,Foo))
    

    反射

    反射指的是通过字符串对对象或者类的属性进行操作

    以下是几种常用的

    hasattr

    通过字符串判断该字符串是否是对象或类的属性,有两个参数,类或对象和一个字符串,返回布尔值

    class People:
        country = 'China'
    
        def __init__(self, name, age, sex):
            self.name = name
            self.age = age
            self.sex = sex
    
            
    p = People('lk',18,'male')
    
    print(hasattr(p,'name'))
    

    getattr

    通过字符串获取对象或类的属性

    print(getattr(p,'name'))
    

    setattr

    通过字符串,设置对象或类的属性

    setattr(p,'name','ll')
    

    delattr

    通过字符串,删除对象或类的属性

     delattr(p,'name')
    

    魔法方法

    什么是魔法方法

    凡是在类内部定义,以“__ 开头 __结尾”的方法都称之为魔法方法,又称“类的内置方法”。魔法方法会在某些条件成立时触发

    几种常用的魔法方法

    __ init __ : 在调用类时触发。

    __ str__ : 会在打印对象时触发。

    __ del__ : 对象被销毁前执行该方法,该方法会在最后执行。

    __ getattr__ : 会在对象.属性时,“属性没有”的情况下才会触发。

    __ setattr__ : 会在 “对象.属性 = 属性值” 时触发。

    __ call__ : 会在对象被调用时触发。

    __ new__ : 会在__ init__执行前触发。

    单例模式

    什么是单例模式

    单例模式是指单个实例

    单例模式可以让调用者多次调用这个类时指向同一个内存地址

    作用

    可以减少内存地址的占用

  • 相关阅读:
    生成15位或者4位随机数 (主要用于微信支付订单号)
    支付签名 MD5Util 排序工具类
    JVM垃圾回收(GC)
    JVM内存区域
    Java实现经典七大经典排序算法
    Java设计模式之装饰者模式
    Java设计模式之单例模式
    提前批笔试一道算法题的Java实现
    Java设计模式之工厂模式
    文件上传和下载
  • 原文地址:https://www.cnblogs.com/lyyblog0715/p/11669208.html
Copyright © 2011-2022 走看看