python之反射機制

2021-09-24 05:37:17 字數 1052 閱讀 2890

【匯入模組方式】

單層匯入:

import os

__import__('os')

多層匯入:

from util.excel import excel

__import__('util.excel.excel',fromlist=true) #如果不加上fromlist=true,只會匯入list目錄

【反射方式】

反射即想到4個內建函式分別為:getattr、hasattr、setattr、delattr  獲取成員、檢查成員、設定成員、刪除

class person(object):

def __init__(self):

self.name="zhangsan"

def age(self):

print ("this is father's age")

def ***(self):

print ("this is father's ***")

if __name__ == '__main__':

obj=person()

#獲取的是個物件

***=getattr(obj,'***')

***()

#判斷物件是否存在

result=hasattr(obj,'***')

print (result)

#設物件值

setattr(obj,'name',"lisi")

print (obj.name)

#刪除物件值

delattr(obj,'name')

try:

print (obj.name)

except:

print ("delect success")

執行結果:

this is father's ***

true

lisi

delect success

[finished in 0.4s]

python反射機制

本文總結python的反射機制,以及其簡單應用 首先要說的是globals 函式 在沒有任何模組匯入的情況下,執行globals函式,函式返回的是乙個包含當前作用域的全域性變數的字典,key是全域性範圍內物件的名字。globals 然後先導入乙個模組 os 在執行globals函式 import o...

python反射機制

反射的本質 反射就是通過字串的形式,匯入模組 通過字串的形式,去模組尋找指定函式,並執行。利用字串的形式去物件 模組 中操作 查詢 獲取 刪除 新增 成員,一種基於字串的事件驅動!下面我們通過反射機制在web路由上的應用來介紹反射 首先我們來看如下 的設計 users.py 模組中 visit模組中...

python反射機制

根據不同的場景執行不同的函式,可以將這種寫入配置中,讀取配置,執行對應的函式,這個時候獲取的函式為字串,如何執行該字串呢?反射就是通過字串的形式,匯入模組 反射就是通過字串的形式,匯入模組 通過字串的形式,去模組尋找指定函式,並執行。利用字串的形式去物件中操作屬性或者函式利用字串的形式去物件中操作屬...