Python 反射,通過字串來匯入模組

2022-07-01 17:03:11 字數 900 閱讀 9226

反射:

通過字串額形式,匯入模組

通過字串的形式,去模組中尋找指定函式,並執行函式。

__import__(「字串形式的模組名稱」),就可以匯入相應的模組

通過內建函式 getattr(模組名,『函式的字串名稱』)來指定需要執行的函式

注意找到了函式,還需要在函式名後面加()來執行函式。

// getattr,setattr,hasattr,delattr

根據字串的形式去物件(某個模組)中操作其成員。

inp = input("

請輸入要匯入的模組名稱:")

#inp 是要匯入模組的字串表現形式。

#dd 是為其匯入模組的別稱。

dd = __import__

(inp)

#f1 是 匯入模組中的某個函式名稱

#ret 是f1()的返回值。

ret =dd.f1()

print (ret)

#

!/usr/bin/env python

#-*- coding:utf8 -*-

inp = input("

請輸入要匯入的模組:")

dd = __import__

(inp)

#通過內建函式getattr來指定模組中的函式

inp_func = input("

請輸入要執行的函式: ")

target_func =getattr(dd, inp_func)

print(target_func) #

target_func 即為 模組中的某一函式。這只是函式,需要在函式後面加()才表示執行函式

result =target_func()

print(result)

python通過字串來呼叫函式

有時候我們想要通過字串來直接呼叫函式,方便通過輸入的引數來直接控制呼叫的函式 常規操作def function1 print function1 def function2 print function2 def function3 print function3 def call fun by s...

通過同名字串來呼叫函式

相信使用python的各位童鞋,總會有這樣的需求 通過乙個同名的字串來呼叫乙個函式。其他的語言是如何實現,不太清楚。但是python提供乙個強大的內建函式getattr 可以實現這樣的功能。getattr 的函式原型為 getattr object,str name 其返回物件object中名字為s...

通過html來部分顯示字串,並用 顯示

從資料庫中讀取文章的題目,在頁面中排列顯示,可能會因為題目太長,而需要擷取一部分來顯示,之前都是通過php 來判斷這個字串的長度,並擷取自己需要長度的字串。前幾天從同學那裡聽說可以直接在html中控制這個的顯示,通過控制框的大小,來控制這個字串顯示多少。在頁面所有位置大小都不會改變的情況下,這個方法...