• day18-2 反射详解



    #
    反射:通过字符串映射或修改程序运行时的状态,属性。或者方法 class Dog(object): def __init__(self,name): self.name = name def eat(self,food): print("%s is eating...%s" %(self.name,food)) d = Dog("abc") choice = input(">>:").strip() if hasattr(d,choice): func = getattr(d,choice) func('蛋糕') # hasattr(obj,name_str), 判断一个对象obj里面是否含有对应的name_str字符串的方法 #getattr(obj,name_str) 根据字符串去获取obj对象里对应的方法的内存地址 # >>:eat # abc is eating...蛋糕

    2.

        # hasattr(obj,name_str), 判断一个对象obj里面是否含有对应的name_str字符串的方法

    #getattr(obj,name_str) 根据字符串去获取obj对象里对应的方法的内存地址
    #setattr(obj,'y',z) 相当于x.y = v
    #delattr(d,choice) 删除对象对应字符串的属性

    3.
    # 反射:通过字符串映射或修改程序运行时的状态,属性。或者方法
    def bulk(self):
        print("%s is bulking..." % self.name)
    
    class Dog(object):
    
        def __init__(self,name):
            self.name = name
    
        def eat(self,food):
            print("%s is eating...%s" %(self.name,food))
    
    d = Dog("abc")
    choice = input(">>:").strip()
    print(hasattr(d,choice))
    if hasattr(d,choice):
        delattr(d,choice)
        # func = getattr(d,choice)
        # func('蛋糕')
    else:
        # setattr(d,choice,bulk)
        # d.talk(d)
        setattr(d,choice,22)
        print(getattr(d,choice))
    print(d,name)
    # hasattr(obj,name_str), 判断一个对象obj里面是否含有对应的name_str字符串的方法
    #getattr(obj,name_str) 根据字符串去获取obj对象里对应的方法的内存地址
    #setattr(obj,'y',z) 相当于x.y = v
    #delattr(d,choice) 删除对象对应字符串的属性
     
  • 相关阅读:
    转:Python 的 setup.py
    创建docker时把共享内存(share memory)设置的大一些
    coco数据集介绍
    pip install r e 什么意思
    COCO pretrained or ImangeNet pretrained ResNet and DLA models, Kinetics pretrained I3D
    把docker打包成镜像的命令
    转载:Pose Estimation:DensePose
    把字典或列表保存为json
    转:Shell中的$0、$1、$2的含义
    专利分为哪几类?企业申请专利需要哪些条件?
  • 原文地址:https://www.cnblogs.com/yfjly/p/9863538.html
Copyright © 2020-2023  润新知