python小技巧eval函式的簡單使用

2021-10-05 22:18:49 字數 1274 閱讀 6687

python中的eval() 函式異常強大,使用好eval()函式可以取得事半功倍的效果。簡單來說 ,eval()函式用來執行乙個字串表示式,並返回表示式的值。

1、簡單使用例項:

x = 1

print(eval('x+1'))

程式執行結果輸出為:

2
2、函式呼叫使用例項:

首先定義乙個functions函式其內容如下:

def funca():

print('funca')

def funcb():

print('funcb')

def funcc():

print('funcc')

再定義乙個呼叫函式

import functions as fc

fc.funcc()

print(eval('fc.funcb()'))

程式的執行結果是:

funcc

funcb

none

注:為什麼輸出結果中會出現乙個none,我也沒搞明白,有知道的大佬希望能幫助解決一下,謝謝啦!

3、同時也可以從配置檔案中讀入呼叫語句來執行函式,(仍然使用上面提到的functions函式)

configure.txt的內容如下所示:

functions.funca()

functions.funcb()

functions.funcc()

呼叫函式如下所示:

import functions

funcname =

def test():

with open('configure.txt', 'r') as fcn:

for line in fcn.readlines():

line = line.strip() #去掉結尾的『\n』

print(funcname)

eval(funcname[0])

eval(funcname[1])

test()

執行結果:

['functions.funca()', 'functions.funcb()', 'functions.funcc()']

funca

funcb

eval()函式還有很多用處,還有待發現,以後再補充。

shell 陣列 eval工具等小技巧

shell這種指令碼語言在某些環境中感覺跟高階語言相比,對一些高階資料結構支援很不夠,寫起來也極不方便,但是基本上你想要的,shell都能夠支援,只是不是那麼方便而已。一 shell陣列 array value1 value2 value3 array one two three 取值 刪除 uns...

python內建函式 eval函式

最近在學習python的過程中,遇到了eval 函式,所以便查資料進行了細緻了解,這位大哥的部落格介紹的非常明白,我看了之後才徹底理解,大家可以去看看。eval 函式用來執行乙個字串表示式,並返回表示式的值,通俗地講就是去掉引數最外層引號並執行語句。注意 eval的引數必須是字串,否則將會報錯。ev...

python內建函式eval

eval 官方文件裡面給出來的功能解釋是 將字串string物件轉化為有效的表示式參與求值運算返回計算結果 語法上 呼叫的是 eval expression,globals none,locals none 返回的是計算結果 expression是乙個參與計算的python表示式 globals是可...