zoukankan      html  css  js  c++  java
  • Python系列反射

    一、静态方法(staticmethod)和类方法(classmethod)

    类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性)

    静态方法:让类里的方法直接被类调用,就像正常调用函数一样

    类方法和静态方法的相同点:都可以直接被类调用,不需要实例化

    类方法和静态方法的不同点:

      类方法必须有一个cls参数表示这个类,可以使用类属性

      静态方法不需要参数

    绑定方法:分为普通方法和类方法

         普通方法:默认有一个self对象传进来,并且只能被对象调用-------绑定到对象

          类方法:默认有一个cls对象传进来,并且可以被类和对象(不推荐)调用-----绑定到类

    非绑定方法:静态方法:没有设置默认参数,并且可以被类和对象(不推荐)调用-----非绑定

    class Foo:
        pass
    class Son(Foo):
        pass
    s = Son()
    print(isinstance(s,Son))  #判断s是不是Son的对象
    print(type(s) is Son)
    print(isinstance(s,Foo))  #判断s是不是Foo的对象  不精准
    print(type(s) is Foo)  #type比较精准
    
    print(issubclass(Son,Foo)) #判断Son是不是Foo的子类
    print(issubclass(Son,object))
    print(issubclass(Foo,object))
    print(issubclass(int,object))
  • 相关阅读:
    centos8网络连接(1)虚拟机网卡和网络编辑器设置
    centos7离线安装ruby
    centos7安装ruby-2.6.5,简单快捷的下载与安装方式
    redis 4.0.13 -- 集群模式
    活了
    世界无我
    markdown_test
    关于mimikatz在webshell运行
    可用性自动化V3
    关于sqlmap常用
  • 原文地址:https://www.cnblogs.com/xiaoniuniu886/p/8810442.html
Copyright © 2011-2022 走看看