Python-反射機制

1、python-反射機制

  目錄

    一、反射基本方法

    二、反射demo

2、

  一、hasattr(obj,name_str)   #判斷一個對象obj裏是否有對應的字符串的方法python

   getattr(obj,name_str)   #根據字符串去獲取obj對象裏的對應的內存地址,字符串是 變量則返回值spa

  setattr(obj,'y','z')  #根據字符串設置屬性(方法,變量)
   delattr(obj,name_str) 刪除

 
二、demo
class Dog(object):
    def __init__(self,name):
        self.name=name

    def eat(self,food):
        print('%s 開始吃'%self.name,food)

def bulk(self):
    print('1233 %s' %self.name)

d=Dog('李富貴')

chaer=input('輸入:').strip()

if hasattr(d,chaer):
    #func=getattr(d,chaer)
    #func('包子')
    setattr(d,chaer,'')  #修改原來變量的內容
    print(getattr(d, chaer))

    delattr(d,chaer)  #刪除
    print(d.name)
else:
    setattr(d,chaer,bulk)  #添加新方法,返回內存地址
    func=getattr(d,chaer)
    func(d)
    # setattr(d, chaer, 22)  #添加新變量,返回值
    # print(getattr(d,chaer))
相關文章
相關標籤/搜索