eval重新運算求出引數內容的使用

2021-10-03 08:06:41 字數 1109 閱讀 3770

#測試eval()函式用法

#功能:將字串str中的字串當成有效的表示式進行運算並返回值

'''eval 的語法結構:

eval(source[, globals[, locals]])

eval(**[,全域性變數[,區域性變數]])

value

引數: source:乙個 python 表示式或函式 compile()返回的**物件

globals:可選。必須是 dictionary

locals:可選。任意對映物件

''''''

eval /ɪ'væl/ 重新運算求出引數的內容

source /sɔːrs/ **

compile /kəmˈpaɪl/ 編譯

globals /ˈɡloʊbls/ 全域性變數

locals /ˈloʊkls/ 區域性變數

dictionary /ˈdɪkʃəneri/ 字典 dict

value /ˈvæljuː/ 值

'''#例1:

s ="print(abcd)"

eval

("s"

)# 執行字串的內容

#運算結果: abcd

# 去""執行其內容。

a =10

b =30

c =eval

("a+b"

)c = a + b #這樣寫同樣沒用問題

print

(c)# 運算結果: 40

#例2:

print

("-----------------------------"

)dict1 =

dict

(a =

100, b =

200)

d =eval

("a+b"

,dict1)

# eval("**",變數)

# 括號內加dict1是為了讓python識別a與b是哪兩個值

print

(d)#運算結果:300

位運算求和

劍值offer上有道題很有趣,求兩數和,要求 寫乙個函式,求兩個整數之和,要求在函式體內不得使用 四則運算符號。一看不能直接加減,那就考慮二進位制之間的與或非移位操作。求和主要有兩點 1.每一位數字相加 2.考慮是否進製 主要步驟 二進位制各位數字相加,我們都知道運算規則是 0 0 0,1 1 0,...

位運算求a b

位運算 給出兩個整數 a 和 b,求他們的和。挑戰顯然你可以直接 return a b,但是你是否可以挑戰一下不這樣做?不使用 等算數運算子 分析 主要利用異或運算來完成,異或運算有乙個別名叫做 不進製加法,那麼a b就是a和b相加之後,該進製的地方不進製的結果,然後下面考慮哪些地方要進製,自然是a...

位運算求相反數

n的相反數等於 n 1 對於取相反數之後不會產生溢位的情況都適用 對於正數的相反相反數來說,原碼就是除符號位變為1,其他不變,計算機中 對於乙個數字來說儲存的都是其補碼,負數的補碼為符號位不變其他位按位取反,然後將得到的結果 1 而 n 1的過程第一步就是將符號為變為1,變為其相反數原碼的情況,然後...