【python學習筆記】Python反射機制
說明
說到反射,讓人熟知的eval函式,python除了這個函式,還有import() ,getattr、hasattr、setattr、delattr等方法
eval函式
class Test(object):
def __init__(self):
self.name = 'leason'
def foo(self,name):
self.name = name
if __name__ == "__main__":
eval_test = eval('Test()')
print eval_test.name
<< leason
import()方法
import方法實際上是import匯入模組的另一種方式
//效果相同
import leason
__import__('leason')
//多層匯入
1. from app.serve import leason
2. __import__('app.serve.leason',fromlist=True) #如果不加上fromlist=True,只會匯入list目錄
操作成員getattr、hasattr、setattr、delattr
getattr、hasattr、setattr、delattr 獲取成員、檢查成員、設定成員、刪除成員
class Test(object):
def __init__(self):
self.name = 'leason'
def func(self):
return True
obj = Test()
#獲取成員
ret = getattr(obj, 'func')#獲取的是個物件
r = ret()
print(r)
#檢查成員
ret = hasattr(obj,'func')#因為有func方法所以返回True
print(ret)
#設定成員
print(obj.name) #設定之前為:leason
ret = setattr(obj,'name','leason1')
print(obj.name) #設定之後為:leason1
#刪除成員
print(obj.name) #leason
delattr(obj,'name')
print(obj.name) #報錯
相關文章
- 軟體測試學習教程——Python實現反射機制Python反射
- Java筆記-反射機制(一)Java筆記反射
- 【學習筆記】python筆記Python
- Python學習筆記Python筆記
- Java學習筆記--反射Java筆記反射
- Go 反射 學習筆記Go反射筆記
- Python學習筆記(隨筆)Python筆記
- Python學習筆記(一)——初學PythonPython筆記
- 學習筆記(2)IPC機制筆記
- python學習筆記4Python筆記
- python學習筆記(二)Python筆記
- Python學習筆記 - aiohttpPython筆記AIHTTP
- Python 學習筆記(一)Python筆記
- Python學習筆記 - asyncioPython筆記
- Python學習筆記 - queuePython筆記
- Python學習筆記(2)Python筆記
- python學習筆記(1Python筆記
- Python學習筆記(三)Python筆記
- python——numpy學習筆記Python筆記
- Effective Python學習筆記Python筆記
- Python學習筆記(一)Python筆記
- Python學習筆記(3)Python筆記
- python學習筆記——列表Python筆記
- Python學習筆記|Python之程式Python筆記
- Python學習筆記--Python基礎Python筆記
- Go基礎學習記錄之反射(reflect)機制Go反射
- java反射機制的學習心得Java反射
- Java 反射機制學習資料Java反射
- Java筆記-反射機制(三)-小demoJava筆記反射
- Java學習筆記系列-反射Java筆記反射
- MySQL 學習筆記(二)MVCC 機制MySql筆記MVC
- OS學習筆記四:同步機制筆記
- Python學習筆記|Python之yield理解Python筆記
- Python學習筆記|Python之索引迭代Python筆記索引
- Python學習筆記|Python之特殊方法Python筆記
- Python學習筆記——Python Number(數字)Python筆記
- 【python學習筆記】Python裝飾器Python筆記
- python——Matplotlib學習筆記Python筆記