由「反射」,聯想到的動態呼叫不同模組的函式

2022-07-01 17:03:11 字數 1368 閱讀 5845

#

!/usr/bin/env python

#-*- coding:utf8 -*-

#from lib import account

#url = input("請模擬輸入 url 頁面: ")##

if url.endswith("login"):

#r = account.login()

#print(r)##

elif url.endswith("logout"):

#r = account.logout()

#print(r)##

elif url.endswith("nb"):

#r = account.nb()

#print(r)##

else:

#print("404")

#當account中含有很多的函式體時,當前的主程式 index.py ,就要寫很多的elif 條件來判斷。

#而通過「反射」, 根據使用者的輸入是什麼,再去account中呼叫相應的函式才比較合適

#from lib import account##

input_info = input("請模擬輸入相應的url: ")##

url = input_info.split("/")[-1]

#if hasattr(account, url):

#target_func = getattr(account, url)

#r = target_func()

#print(r)##

else:

#print("404")

"""上述乙個不好的地方是,所有的函式需要都寫到單一的模組account中,

但是通常情況下,每個函式是有分類的。

不同種類的模組,包含不同的函式

"""'''

對上述主程式繼續優化

要求使用者輸入: 模組名/函式名(account/login)

'''modul_url = input("

請輸入url:(模組名/函式名)")

target_module, target_func = modul_url.split("/"

)#獲取匯入的模組

module = __import__("

lib.

" + target_module, fromlist=true)

ifhasattr(module, target_func):

result =getattr(module, target_func)

ret =result()

print

(ret)

else

:

print("

404")

由return聯想到的

大多數函式都包含一條return 語句,return 語句導致函式停止執行。使函式停止執行的還有break,throw,他們叫強制跳轉語句。return語句使函式停止執行,如果 塊裡為 return 或者 沒有return 那麼函式會返回乙個undefined值給呼叫者。另外,在控制台為什麼會返回u...

由修電腦聯想到的

當初學計算機應用這個專業肯定沒想到日後最大的需求是為我周圍的電腦菜菜們的排憂解難,在我看來這個專業應該屬於益工型的專業,假如你說憑他找工作,當個職業幹,基本上想賺錢很難,而且十分瑣碎,頂著個所謂的技術工程師的帽子其實和看門大爺,服務員和水電工區的工作沒有什麼區別。在此我只涉及我接觸過的網管類以及技術...

由記憶體的使用聯想到的

這兩天自己湖南dvb c的程式經常會在操作時莫名的宕機。由於沒有規律,所以不知道是哪個地方出 錯了,自己也為此苦惱了一天,把程式看了又看也不知道出了什麼問題。不過由於是在密碼輸入時候出現的宕機,而且是操作一會兒後才有不規律的宕機,我猜想記憶體可能出問題了,因為在密碼輸入由於要備份介面上的東西,所以會...