python3利用反射操作類


#利用反射查看面向對象成員的歸屬

class kb:
def __init__(self,name):
self.name=name

def show(self):
print("show")
obj=kb("kobe")
#反射:以字符串的形式去對象(模塊)中操作其成員

#1.如果對象是類,則只能查找類中的成員

o1=hasattr(kb,"show")
print(o1)

#2.如果對象是我們創建的類的對象,則既可以查找對象中的參數,也可以查找類的成員

o2=hasattr(obj,"show")
print(o2)
o3=hasattr(obj,'name')
print(o3)


#利用反射導入類及對其操作
#導入模塊

m=__import__("class04",fromlist=True)

#去模塊中找類

class_name=getattr(m,"kb")
#根據類創建對象

obj=class_name("kobe")
#去對象中找name對應的值

va=getattr(obj,"name")
print(va)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM