zoukankan      html  css  js  c++  java
  • 反射

    #coding=utf8
    class BlackMeidum():
        feature ="ugly"
        def __init__(self,name,addr):
            self.name =name
            self.addr = addr
        def sell_house(self):
            print("u%s黑中介买房子,不要买" %self.name)
    
        def rent_house(self):
            print("%s黑中介租房子,不要租"%self.name)
    
    b1 =BlackMeidum("自如中介","在北二环")
    
    
    
    
    #1. 检测时否含有某种属性
    print(hasattr(b1,"name"))
    # 结果 True
    
    print(hasattr(b1,"nihao"))
    #结果 False
    
    
    # 2. 获取属性
    getattr(b1,"sell_house")()
    #打印结果:u自如中介黑中介买房子,不要买
    #
    
    getattr(b1,"rent_house")()
    # #打印结果:自如中介黑中介租房子,不要租
    
    
    print(getattr(b1,"aaa","不存在此属性"))
    # #结果:不存在属性
    
    
    #3. 设置属性.
    setattr(b1,"sb","对的")
    print(b1.sb)
    #结果:对的
    
    setattr(b1,"show_name",lambda self:self.name+"太帅了")
    print(b1.show_name(b1))
    #结果:自如中介太帅了
    
    setattr(b1,"show_name","太帅了")
    print(b1.show_name)
    #结果太帅了
    
    
    
    #4.删除属性
    
    delattr(b1,"addr")
    delattr(b1,"name")
    print(b1.__dict__)
    #{'sb': '对的', 'show_name': '太帅了'}
    
    
    setattr(b1,"name","shaiq")
    print(b1.__dict__)
    #结果 {'sb': '对的', 'show_name': '太帅了', 'name': 'shaiq'}
    View Code
    #coding=utf8
    class BlackMeidum():
        feature ="ugly"
        def __init__(self,name,addr):
            self.name =name
            self.addr = addr
        def sell_house(self):
            print("u%s黑中介买房子,不要买" %self.name)
    
        def rent_house(self):
            print("%s黑中介租房子,不要租"%self.name)
    
    b1 =BlackMeidum("自如中介","在北二环")
    
    
    
    
    #1. 检测时否含有某种属性
    print(hasattr(b1,"name"))
    # 结果 True
    
    print(hasattr(b1,"nihao"))
    #结果 False
    
    
    # 2. 获取属性
    getattr(b1,"sell_house")()
    #打印结果:u自如中介黑中介买房子,不要买
    #
    
    getattr(b1,"rent_house")()
    # #打印结果:自如中介黑中介租房子,不要租
    
    
    print(getattr(b1,"aaa","不存在此属性"))
    # #结果:不存在属性
    
    
    #3. 设置属性.
    setattr(b1,"sb","对的")
    print(b1.sb)
    #结果:对的
    
    setattr(b1,"show_name",lambda self:self.name+"太帅了")
    print(b1.show_name(b1))
    #结果:自如中介太帅了
    
    setattr(b1,"show_name","太帅了")
    print(b1.show_name)
    #结果太帅了
    
    
    
    #4.删除属性
    
    delattr(b1,"addr")
    delattr(b1,"name")
    print(b1.__dict__)
    #{'sb': '对的', 'show_name': '太帅了'}
    
    
    setattr(b1,"name","shaiq")
    print(b1.__dict__)
    #结果 {'sb': '对的', 'show_name': '太帅了', 'name': 'shaiq'}
    

      

  • 相关阅读:
    PythonStudy——socket 网络编程
    PythonStudy——异常处理
    PythonStudy——subprocess 模块
    PythonStudy——xlrd 与 xlwt 表格处理模块
    MySQLStudy——安装与环境部署
    Redo与undo在开发中的使用
    SQL语句的执行计划(oracle表的三种链接方式)
    SQLSERVER的兼容级别
    查看用户的SQL执行历史
    Spark是一种分布式的计算方案
  • 原文地址:https://www.cnblogs.com/mengbin0546/p/10236575.html
Copyright © 2011-2022 走看看