最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python通過實例講解反射機制

 更新時間:2019年10月17日 11:40:11   作者:夢想一步登天  
這篇文章主要介紹了python通過實例講解反射機制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一、反射機制簡介:

  • 通過字符串的形式導入模塊
  • 通過字符串的形式,去模塊中尋找指定的函數,并執(zhí)行
  • 規(guī)定用戶輸入格式 模塊名/函數名 通過__import__的形式導入模塊,并通過 hasattr和getattr 檢查并獲取函數返回值。

相關方法:

  • getattr:--根據字符串的形式去某個模塊中尋找東西
  • hasattr:--根據字符串的形式去某個模塊中判斷東西是否存在
  • setattr:--根據字符串的形式去某個模塊中設置東西
  • delattr:--根據字符串的形式去某個模塊中刪除東西

二、反射機制初識:

test.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-

def f1():
return '我是F1,我被調用了'

def f2():
return '我是F2,我被調用了'

def f3():
return '我是F3,我被調用了'

index.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
反射機制
1.根據字符串的形式導入模塊。
2.根據字符串的形式去對象(某個模塊)中操作其成員 
實現(xiàn)思路:規(guī)定用戶輸入格式 模塊名/函數名 通過__import__的形式導入模塊,并通過 hasattr和getattr 檢查并獲取函數返回值。
"""
#通過用戶輸入的形式, 導入模塊
inp = input('請輸入需要導入的模塊名:')
#__import__用于以字符串的形式導入模塊
dd = __import__(inp)
#在模塊尋找函數并執(zhí)行函數
inp_func = input('請輸入需要執(zhí)行的函數:')
#getattr()用于以字符串的形式去某個模塊中尋找函數
tager_func = getattr(dd, inp_func)
#在獲取到的函數名后加()表示執(zhí)行函數
result = tager_func()
print(result)

代碼執(zhí)行結果:

請輸入需要導入的模塊名:test
請輸入需要執(zhí)行的函數:f2
我是F2,我被調用了

實例:基于反射模擬Web框架路由系統(tǒng)(一)

commons.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-

def login():
return 'login'

def logout():
return 'logout'

def nb():
return '很牛逼的網頁'

refec_demo.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
基于反射模擬web框架路由系統(tǒng)
"""
from lib import commons
url = input('請輸入模擬的url路徑:')
if url.endswith('login'):
ret = commons.login()
print(ret)
elif url.endswith('logout'):
ret = commons.logout()
print(ret)
else:
print('404')

實例:基于反射模擬Web框架路由系統(tǒng)(二)

refec_demo1.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from lib import commons

inp = input('請輸入模擬的url路徑:')
url_inp = inp.split('/')[-1]
if hasattr(commons, url_inp):
ret = getattr(commons, url_inp)
result = ret()
print(result)
else:
print('404')

代碼實現(xiàn)結果:

路徑正確時結果:

路徑不正確時結果:

實例:基于反射模擬Web框架路由系統(tǒng)(三)

manager.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-

def home():
return 'Home'

order.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
def add_order():
return '添加訂單'

refec_demo2.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-

#用戶輸入規(guī)則:模塊名/函數名

url = input('請輸入模塊名/函數名:')
target_modul, target_func = url.split('/')
#__import__導入模塊
mod = __import__('lib.' + target_modul, fromlist=True)
#hasattr()判斷函數是否存在
if hasattr(mod, target_func):
ret = getattr(mod, target_func)
result = ret()
print(result)
else:
print('404')

當模塊和函數都存在時,url路徑調用結果:

當模塊和函數都不存在時,url路徑調用結果:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python調用百度api實現(xiàn)語音識別詳解

    Python調用百度api實現(xiàn)語音識別詳解

    這篇文章主要介紹了Python通過調用百度api實現(xiàn)語音識別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2021-12-12
  • python如何實現(xiàn)從視頻中提取每秒圖片

    python如何實現(xiàn)從視頻中提取每秒圖片

    這篇文章主要為大家詳細介紹了python如何實現(xiàn)從視頻中提取每秒圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Python+OpenCV讀寫視頻的方法詳解

    Python+OpenCV讀寫視頻的方法詳解

    這篇文章主要為大家詳細介紹了Python+OpenCV進行讀寫視頻操作的示例代碼,文中的示例代碼講解詳細,感興趣的小伙伴可以動手嘗試一下
    2022-08-08
  • Python身份運算符is與is?not區(qū)別用法基礎教程

    Python身份運算符is與is?not區(qū)別用法基礎教程

    這篇文章主要為大家介紹了Python身份運算符is與is?not區(qū)別用法基礎教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • 推薦11個實用Python庫

    推薦11個實用Python庫

    這篇文章主要推薦了11個實用Python庫,都有這不錯的群眾基礎,非常好用,也都很實用,推薦給大家。
    2015-01-01
  • python多線程請求帶參數的多個接口問題

    python多線程請求帶參數的多個接口問題

    這篇文章主要介紹了python多線程請求帶參數的多個接口問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Python實現(xiàn)人臉識別的詳細圖文教程

    Python實現(xiàn)人臉識別的詳細圖文教程

    人臉識別是人工智能的一個重要應用,下面這篇文章主要給大家介紹了關于Python實現(xiàn)人臉識別的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Python空間數據處理之GDAL讀寫遙感圖像

    Python空間數據處理之GDAL讀寫遙感圖像

    這篇文章主要介紹了Python空間數據處理之GDAL讀寫遙感圖像,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 判斷網頁編碼的方法python版

    判斷網頁編碼的方法python版

    這篇文章主要為大家詳細介紹了python代碼判斷網頁編碼的方法,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Python讀寫unicode文件的方法

    Python讀寫unicode文件的方法

    這篇文章主要介紹了Python讀寫unicode文件的方法,涉及Python針對文件的讀取及編碼操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07

最新評論

安仁县| 贡觉县| 修武县| 富川| 黄冈市| 聂荣县| 边坝县| 新竹县| 绥化市| 长泰县| 东阿县| 资溪县| 灵宝市| 江西省| 宜春市| 开平市| 天等县| 龙山县| 拉萨市| 西林县| 连城县| 兴城市| 霍林郭勒市| 观塘区| 甘德县| 建始县| 天气| 崇文区| 华阴市| 宜宾县| 凤凰县| 鹿泉市| 额尔古纳市| 鹰潭市| 沙湾县| 重庆市| 富锦市| 淳化县| 邓州市| 沾益县| 咸宁市|