zoukankan      html  css  js  c++  java
  • pyhton反射hasattr getattr delattr

    https://www.cnblogs.com/Eva-J/articles/7351812.html

    类.属性

    类.方法

    python面向对象中的反射:通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射)

    在做程序开发中,我们常常会遇到这样的需求:需要执行对象里的某个方法,或需要调用对象中的某个变量,但是由于种种原因我们无法确定这个方法或变量是否存在,这是我们需要用一个特殊的方法或机制要访问和操作这个未知的方法或变量,这中机制就称之为反射。接下记录下反射几个重要方法

    hasattr(类名, 方法名) 判断对象中时候存在这个方法或者变量  存在返回true  不存在返回false

    class A():
        name = 'zhouta'
        @classmethod
        def funca(cls):
            print('i love taylor')
    
    a = A()
    # print(a.name)
    #hasattr(类名, 方法名)两个参数, 方法在类中则返回true, 不在则返回false
    se = hasattr(A,'funca')
    print(se)
    se2 = hasattr(A,'dd')
    print(se2)

    getattr 获取对象中的方法或变量的内存地址

    class A():
        name = 'zhouta'
        @classmethod
        def funca(cls):
            print('i love taylor')
    
    a = A()
    
    se3 = getattr(A,'name')
    print(se3)
    se4 = getattr(A,'funca')#获取funca内存地址
    se4()#执行方法

    setattr添加属性和值

    setattr(A,'age',34)#添加属性age, 添加值为34
    print(getattr(A,'age'))  #获取值

    获取对象中的方法或变量的内存地址

  • 相关阅读:
    Nginx模块fastcgi_cache的几个注意点
    Nginx的fastcgi_cache
    Nginx Location 语法,与简单配置[转]
    nginx location 匹配顺序
    Amoeba基本配置
    LVS的DR模式配置
    Keepalived安装及初步使用
    HAProxy安装及初步使用
    lvs nginx HAProxy优缺点
    Redis安装及初步使用
  • 原文地址:https://www.cnblogs.com/taysem/p/12157510.html
Copyright © 2011-2022 走看看