關於python exec的常用使用方法

2021-09-30 17:01:07 字數 767 閱讀 8513

python exec內建函式是繼eval之後的乙個很有用的函式,可以執行python的**,傳入python的**字串就行。我在網上也查過一些別人的部落格但是都講的很模糊,這裡我簡單總結一下我常用的使用形式

首先定義一段python**:

expr = """

sum = x + y

x = 5

y = 10

"""

然後定義乙個臨時變數域,也就是執行expr**時的臨時變數空間,是乙個dict,這裡我們需要指定x和y的值

args =
然後就可以進行exec了,注意exec是沒有返回值的,所有的變數都會存在那個dict變數args裡面

exec(expr, args)
執行完之後,列印出args中的值,可以看到本來args裡我們只定義了x和y,執行完exec之後多出來了sum,這裡就是變數空間的作用了,在嵌入**塊中的變數最後都會儲存在args裡,還是比較方便的。

print(args['x'], args['y'], args['sum'])
輸出為:

5 10 3

[finished in 0.1s]

總的來說就只有兩步,首先定義一段**字串,然後給乙個臨時變數空間的args並且提供所需要的引數,最後的結果可以直接從args中讀取,當然還有其他的高階用法涉及到區域性和全域性變數,這裡我就只總結一下我目前用的方式。

python exec 和 eval 函式的用法

在網上看到關於python exec和eval函式 的用法,寫的很深刻,記錄如下 python有時需要動態的創造python 然後將其作為語句執行 或 作為表示式計算。exec用於執行儲存在字串中的python 1 語句與表示式的區別 表示式是 某事,語句是 做某事 即告訴計算機做什麼 比如2 2是...

關於常用的 meta

最近在整乙個h5專案 涉及到頁面縮放 要求 手機端在指定頁面雙指可以進行網頁的縮放 於是就直接設定了meta meta name viewport id meta user scalable content width device width,user scalable yes,initial s...

關於日期的常用演算法

關於日期的常用演算法有很多,但如果掌握了基本的演算法,難一點的可以分解為簡單的,各個擊破。1 判斷一年是否為閏年 判斷一年是否為閏年 static boolean isleapyear int year 2 獲得某一年的總天數 閏年366天,非閏年355 獲得某一年的總天數 static int g...